This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from django.contrib import admin
|
||||
from django.utils.safestring import mark_safe
|
||||
from unfold.admin import ModelAdmin
|
||||
from unfold.decorators import display
|
||||
from .models import Competition, CompetitionEnrollment, ScoreDimension, Project, ProjectFile, Score, Comment, ScoreFormula
|
||||
@@ -37,6 +38,31 @@ class ProjectFileInline(admin.TabularInline):
|
||||
model = ProjectFile
|
||||
extra = 0
|
||||
tab = True
|
||||
readonly_fields = ('file_url_display',)
|
||||
|
||||
def file_url_display(self, obj):
|
||||
if obj.file_url:
|
||||
return mark_safe(f'<a href="{obj.file_url}" target="_blank">{obj.file_url[:50]}...</a>')
|
||||
elif obj.file:
|
||||
return obj.file.url
|
||||
return "-"
|
||||
file_url_display.short_description = "文件链接"
|
||||
|
||||
|
||||
@admin.register(ProjectFile)
|
||||
class ProjectFileAdmin(ModelAdmin):
|
||||
list_display = ['id', 'project', 'name', 'file_type', 'file_url_display', 'created_at']
|
||||
list_filter = ['file_type', 'created_at']
|
||||
search_fields = ['name', 'project__title']
|
||||
readonly_fields = ('file_url_display',)
|
||||
|
||||
def file_url_display(self, obj):
|
||||
if obj.file_url:
|
||||
return mark_safe(f'<a href="{obj.file_url}" target="_blank">打开文件</a>')
|
||||
elif obj.file:
|
||||
return obj.file.url
|
||||
return "-"
|
||||
file_url_display.short_description = "文件链接"
|
||||
|
||||
|
||||
@admin.register(Competition)
|
||||
|
||||
Reference in New Issue
Block a user