This commit is contained in:
jlj 2025-06-06 11:43:33 +08:00
parent 34709b4ecd
commit b554cbf8d2
3 changed files with 13 additions and 8 deletions

View File

@ -248,7 +248,12 @@ class CreatorProfile(models.Model):
def get_avatar_url(self): def get_avatar_url(self):
"""获取头像URL优先返回本地图片其次返回外部URL""" """获取头像URL优先返回本地图片其次返回外部URL"""
if self.avatar: if self.avatar:
return self.avatar.url # 检查并移除可能重复的/media/前缀
url = self.avatar.url
if url.startswith('/media/') and '/media/' in url[7:]:
# 如果存在重复的/media/,只保留一个
return url.replace('/media/media/', '/media/')
return url
elif self.avatar_url: elif self.avatar_url:
return self.avatar_url return self.avatar_url
return None return None

View File

@ -170,7 +170,7 @@ def filter_creators(request):
formatted_creator = { formatted_creator = {
"Creator": { "Creator": {
"name": creator.name, "name": creator.name,
"avatar": creator.avatar_url "avatar": creator.get_avatar_url()
}, },
"Category": creator.category, "Category": creator.category,
"E-commerce Level": e_commerce_level_formatted, "E-commerce Level": e_commerce_level_formatted,
@ -643,7 +643,7 @@ def get_creator_detail(request, creator_id):
"creator": { "creator": {
"id": creator.id, "id": creator.id,
"name": creator.name, "name": creator.name,
"avatar": creator.avatar_url, "avatar": creator.get_avatar_url(),
"email": creator.email, "email": creator.email,
"social_accounts": { "social_accounts": {
"instagram": creator.instagram, # 示例数据,实际应从数据库获取 "instagram": creator.instagram, # 示例数据,实际应从数据库获取
@ -955,7 +955,7 @@ def get_creator_brand_campaigns(request, creator_id=None):
creator_info = { creator_info = {
"id": creator.id, "id": creator.id,
"name": creator.name, "name": creator.name,
"avatar": creator.avatar_url, "avatar": creator.get_avatar_url(),
"category": creator.category, "category": creator.category,
"exposure_level": creator.exposure_level, "exposure_level": creator.exposure_level,
} }
@ -2216,7 +2216,7 @@ def get_public_creators(request):
"public_id": public_creator.id, "public_id": public_creator.id,
"creator_id": creator.id, "creator_id": creator.id,
"name": creator.name, "name": creator.name,
"avatar": creator.avatar_url, "avatar": creator.get_avatar_url(),
"category": creator.category, "category": creator.category,
"e_commerce_level": e_commerce_level_formatted, "e_commerce_level": e_commerce_level_formatted,
"exposure_level": creator.exposure_level, "exposure_level": creator.exposure_level,
@ -2633,7 +2633,7 @@ def get_private_pool_creators(request, pool_id=None):
"relation_id": relation.id, "relation_id": relation.id,
"creator_id": creator.id, "creator_id": creator.id,
"name": creator.name, "name": creator.name,
"avatar": creator.avatar_url, "avatar": creator.get_avatar_url(),
"category": creator.category, "category": creator.category,
"e_commerce_level": e_commerce_level_formatted, "e_commerce_level": e_commerce_level_formatted,
"exposure_level": creator.exposure_level, "exposure_level": creator.exposure_level,
@ -3187,7 +3187,7 @@ def filter_public_creators(request):
"public_id": public_creator.id, "public_id": public_creator.id,
"creator_id": creator.id, "creator_id": creator.id,
"name": creator.name, "name": creator.name,
"avatar": creator.avatar_url, "avatar": creator.get_avatar_url(),
"category": creator.category, "category": creator.category,
"e_commerce_level": e_commerce_level_formatted, "e_commerce_level": e_commerce_level_formatted,
"exposure_level": creator.exposure_level, "exposure_level": creator.exposure_level,
@ -3423,7 +3423,7 @@ def filter_private_pool_creators(request):
"pool_id": private_pool.id, # 添加池ID "pool_id": private_pool.id, # 添加池ID
"pool_name": private_pool.name, # 添加池名称 "pool_name": private_pool.name, # 添加池名称
"name": creator.name, "name": creator.name,
"avatar": creator.avatar_url, "avatar": creator.get_avatar_url(),
"category": creator.category, "category": creator.category,
"e_commerce_level": e_commerce_level_formatted, "e_commerce_level": e_commerce_level_formatted,
"exposure_level": creator.exposure_level, "exposure_level": creator.exposure_level,

BIN
media/xiaohaige.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB