仅自定义一列管理模板
Customize only one column admin template
我有这样的简单模型
class Result(models.Model):
detail = models.TextField(blank=True)
in_file = models.TextField(blank=True)
out_file = models.CharField(max_length=2000,blank=True)
pub_date = models.DateTimeField('date published',default=datetime.datetime.now())
现在我想在管理模板中添加 <audio>
标签
第一次尝试
class ResultAdmin(admin.ModelAdmin):
list_display = ["in_file","show_out_file","detail","pub_date"]
def show_out_file(self,obj):
return "<audio>test</audio>"
#return "<audio>" +obj.out_file +"</audio>" ## it doesn't work though.
直接显示<audio>test</autio>
到页面,标签被解析。
接下来,我想我应该覆盖管理模板。
所以我制作了这个文件 templates/admin/base_site.html
并进行了编辑。
成功了,我可以自定义管理主页了。
但是我如何编辑模型(Result
)管理页面或只能更改 out_file 列???
您需要使用 format_html(...)
--(Django Doc) 函数来呈现标签
<b>from django.utils.html import format_html</b>
class ResultAdmin(admin.ModelAdmin):
list_display = ["in_file", "show_out_file", "detail", "pub_date"]
def show_out_file(self, obj):
audio_html = """
<audio controls>
<source src="horse.ogg" type="audio/ogg">
<source src="horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
"""
return <b>format_html(audio_html)</b>
我有这样的简单模型
class Result(models.Model):
detail = models.TextField(blank=True)
in_file = models.TextField(blank=True)
out_file = models.CharField(max_length=2000,blank=True)
pub_date = models.DateTimeField('date published',default=datetime.datetime.now())
现在我想在管理模板中添加 <audio>
标签
第一次尝试
class ResultAdmin(admin.ModelAdmin):
list_display = ["in_file","show_out_file","detail","pub_date"]
def show_out_file(self,obj):
return "<audio>test</audio>"
#return "<audio>" +obj.out_file +"</audio>" ## it doesn't work though.
直接显示<audio>test</autio>
到页面,标签被解析。
接下来,我想我应该覆盖管理模板。
所以我制作了这个文件 templates/admin/base_site.html
并进行了编辑。
成功了,我可以自定义管理主页了。
但是我如何编辑模型(Result
)管理页面或只能更改 out_file 列???
您需要使用 format_html(...)
--(Django Doc) 函数来呈现标签
<b>from django.utils.html import format_html</b>
class ResultAdmin(admin.ModelAdmin):
list_display = ["in_file", "show_out_file", "detail", "pub_date"]
def show_out_file(self, obj):
audio_html = """
<audio controls>
<source src="horse.ogg" type="audio/ogg">
<source src="horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
"""
return <b>format_html(audio_html)</b>