feat: 首页配置封面图上传预览,修复系列活动跳转,活动卡片样式优化
All checks were successful
Deploy to Server / deploy (push) Successful in 1m56s
All checks were successful
Deploy to Server / deploy (push) Successful in 1m56s
This commit is contained in:
@@ -7,12 +7,13 @@ from .models import Competition, CompetitionEnrollment, ScoreDimension, Project,
|
||||
|
||||
@admin.register(HomePageConfig)
|
||||
class HomePageConfigAdmin(ModelAdmin):
|
||||
list_display = ['id', 'main_title', 'organizer', 'undertaker', 'is_active']
|
||||
list_display = ['id', 'main_title', 'organizer', 'undertaker', 'is_active', 'banner_preview']
|
||||
list_editable = ['main_title', 'organizer', 'undertaker', 'is_active']
|
||||
readonly_fields = ['banner_preview']
|
||||
fieldsets = (
|
||||
('封面图', {
|
||||
'fields': ('banner_image', 'banner_image_url'),
|
||||
'description': '首页标题下方的封面图,可上传本地图片或填写URL'
|
||||
'fields': ('banner_image', 'banner_image_url', 'banner_preview'),
|
||||
'description': '首页标题下方的封面图,可上传本地图片或填写URL,优先使用上传的图片'
|
||||
}),
|
||||
('标题设置', {
|
||||
'fields': ('main_title',)
|
||||
@@ -25,6 +26,18 @@ class HomePageConfigAdmin(ModelAdmin):
|
||||
}),
|
||||
)
|
||||
|
||||
@display(description="封面图预览")
|
||||
def banner_preview(self, obj):
|
||||
url = None
|
||||
if obj.banner_image and obj.banner_image.name:
|
||||
from django.conf import settings
|
||||
url = settings.MEDIA_URL + obj.banner_image.name
|
||||
elif obj.banner_image_url:
|
||||
url = obj.banner_image_url
|
||||
if url:
|
||||
return format_html('<img src="{}" style="max-height:120px;max-width:300px;border-radius:6px;object-fit:cover;" />', url)
|
||||
return "暂无图片"
|
||||
|
||||
|
||||
class ScoreDimensionInline(admin.TabularInline):
|
||||
model = ScoreDimension
|
||||
|
||||
Reference in New Issue
Block a user