我已经在这里阅读了几个关于这个问题的帖子,并尝试了很多方法 - 最后我回到了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 - 以防文件网址错误......但没有任何改变。
任何想法都会受到高度赞赏 - 现在非常感到沮丧。
答案 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,可以提供帮助。