Django在管理列表中上传了文件

时间:2017-08-29 12:48:01

标签: python django

我已经在这里阅读了几个关于这个问题的帖子,并尝试了很多方法 - 最后我回到了Django文档。

我正在尝试将上传的图片显示在管理员列表中...

我的models.py(基于此处的信息:Django Docs

from django.db import models
from django.contrib import admin
from django.utils.html import format_html

class File(models.Model):
    file = models.ImageField()
    description = models.CharField(max_length=200)
    def __str__(self):
        return self.description
    def image_tag(self):
        return format_html(
            '<img src="{}" />', self.file
        )

class FileAdmin(admin.ModelAdmin):
    list_display = ('image_tag', 'description')    

遗憾的是,这没有任何作用......

我也尝试过放置任意HTML - 以防文件网址错误......但没有任何改变。

任何想法都会受到高度赞赏 - 现在非常感到沮丧。

1 个答案:

答案 0 :(得分:0)

您也可以尝试使用此代替format_html

按如下方式更新models.py

from django.utils.safestring import mark_safe

def image_tag(self):

    if self.file:
        return mark_safe('<img src="%s" width="200" height="200"/>' % self.file)
    else:
        return '(No image found)'

image_tag.short_description = 'Thumb'

admin.py添加:

list_display= ('image_tag',)

还有一个包django-imagekit,可以提供帮助。