我想显示这样的图像 Django admin listview Customize Column Name 。 我查过Django Admin Show Image from Imagefield , Django - Display ImageField , Django - How can I display a photo saved in ImageField? .
这是我的 models.py 和 admin.py。
#models.py
class Movie(models.Model):
id = models.IntegerField(primary_key=True)
master_id = models.IntegerField()
url = models.CharField(max_length=100)
cover = models.CharField(max_length=100)
tittle = models.CharField(max_length=50)
duration = models.CharField(max_length=10)
click = models.IntegerField()
platform_time = models.DateTimeField()
platform_type = models.IntegerField()
entry_date = models.DateTimeField()
enable = models.IntegerField()
def image_tag(self):
return u'<img src="%s" />' % self.cover
image_tag.short_description = 'Image'
image_tag.allow_tags = True
class Meta:
managed = False
db_table = 'movie'
#admin.py
class MovieAdmin(admin.ModelAdmin):
list_display = ('id', 'master_id', 'url', 'cover', 'tittle', 'duration', 'click', 'platform_time', 'platform_type', 'entry_date', 'enable')
search_fields = ('id', 'tittle',)
list_filter = ( 'enable', )
readonly_fields = ( 'image_tag', )
现在,这是我界面的一部分,没有 image_tag 字段。此外,如果我将封面字段修改为 image_tag,封面字段仍然不可见。
最佳答案
您必须使用 ImageField 代替 CharField 进行覆盖,并更改 image_tag 返回行:
cover = models.ImageField(upload_to = "images") #use the directory you want here
def image_tag(self):
return u'<img src="%s" />' % self.cover.url
您还必须将 image_tag 字段添加到 list_display 中。 并确保 django 可以找到 upload_to 目录。
关于python - Django 管理员不显示来自 Imagefield 的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26878603/