当通过Django Admin浏览时,我想在模型的详细视图中显示图像。我在Django Admin中看到过关于在模型的所有实例的列表视图中显示图像的其他帖子。但我感兴趣的是查看页面上的图像,您可以在其中编辑数据。

models.py
class Label(models.Model):
label = models.TextField()
fragment = models.ForeignKey('Fragment', models.DO_NOTHING, null=True)
in_english = models.BooleanField(default=True)
validated = models.BooleanField(default=False)
def __str__(self):
return str(self.fragment)admin.py
@admin.register(Label)
class LabelsAdmin(admin.ModelAdmin):
fields = ("label", "in_english", "validated", )
# What I tried. This is not working even after adding 'image' to the fields. I get an error.
# def image(self, obj):
# return format_html('<img src="{0}" />'.format(f"/static/fragments/{obj}.png"))发布于 2021-09-15 01:54:37
您可以创建一个类似于display_image的方法。
def display_image(self, obj):
# get image url
image_url = '<your_image_url>'
if image_url is not None:
return format_html('<img src="{}">', image_url)
return None在字段列表中添加'display_image‘
fields = ("label", "in_english", "validated", 'display_image')然后将此字段设为只读
readonly_fields = ['display_image']https://stackoverflow.com/questions/69185930
复制相似问题