如何在 django admin 中显示 base64 图像?
How to display base64 image in django admin?
我有旧软件通过 django 的 BinaryField 存储机构徽标,我需要在 django 管理记录编辑页面上显示此图像
这是我的管理员:
class InstituicaoAdmin(admin.ModelAdmin):
list_display = ['ds_instituicao', 'sigla']
search_fields = ['ds_instituicao']
formfield_overrides = {
BinaryField: {'widget': BinaryFileInput()},
}
readonly_fields = ["imagem_logo",]
def imagem_logo(self, obj):
base64Encoded = base64.b64encode(obj.logo)
return mark_safe('<img src="data:;base64,base64Encoded">')
这不行
我想要这样的:Image_FIeld
我会使用 format_html
而不是 mark_safe
:
def imagem_logo(self, obj):
base64Encoded = base64.b64encode(obj.logo)
return format_html('<img src="data:;base64,{}">', base64Encoded)
查看文档:https://docs.djangoproject.com/en/2.2/ref/utils/#django.utils.html.format_html
我有旧软件通过 django 的 BinaryField 存储机构徽标,我需要在 django 管理记录编辑页面上显示此图像
这是我的管理员:
class InstituicaoAdmin(admin.ModelAdmin):
list_display = ['ds_instituicao', 'sigla']
search_fields = ['ds_instituicao']
formfield_overrides = {
BinaryField: {'widget': BinaryFileInput()},
}
readonly_fields = ["imagem_logo",]
def imagem_logo(self, obj):
base64Encoded = base64.b64encode(obj.logo)
return mark_safe('<img src="data:;base64,base64Encoded">')
这不行
我想要这样的:Image_FIeld
我会使用 format_html
而不是 mark_safe
:
def imagem_logo(self, obj):
base64Encoded = base64.b64encode(obj.logo)
return format_html('<img src="data:;base64,{}">', base64Encoded)
查看文档:https://docs.djangoproject.com/en/2.2/ref/utils/#django.utils.html.format_html