一尘不染

Django:在管理界面中显示图像

django

我定义了一个包含链接图像的模型。有没有办法在模型项目列表中显示图像?我的模型如下所示:

class Article(models.Model):
    url = models.CharField(max_length = 200, unique = True)
    title = models.CharField(max_length = 500)
    img = models.CharField(max_length = 100) # Contains path to image

    def __unicode__(self):
       return u"%s" %title

有没有办法显示图像和标题?


阅读 890

收藏
2020-03-29

共1个答案

一尘不染

你可以使用其他名称创建模型实例方法,允许HTML标签为其输出,并将此方法添加为列表字段。这是一个例子:

首先添加一个新方法,返回包含图像的HTML:

class Article(models.Model):
    ...
    def admin_image(self):
        return '<img src="%s"/>' % self.img
    admin_image.allow_tags = True

然后将此方法添加到列表中:

class ArticleAdmin(admin.ModelAdmin):    
    ...
    list_display = ('url', 'title', 'admin_image')
2020-03-29