首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Django Admin的模型细节视图中显示图像?

如何在Django Admin的模型细节视图中显示图像?
EN

Stack Overflow用户
提问于 2021-09-15 00:51:44
回答 1查看 47关注 0票数 1

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

models.py

代码语言:javascript
复制
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

代码语言:javascript
复制
@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"))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-15 01:54:37

您可以创建一个类似于display_image的方法。

代码语言:javascript
复制
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‘

代码语言:javascript
复制
fields = ("label", "in_english", "validated", 'display_image')

然后将此字段设为只读

代码语言:javascript
复制
readonly_fields = ['display_image']
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69185930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档