在 django admin 中显示 img

迪尔沙德

我试图在 django admin 中显示图像。我试试这个代码

管理文件

@admin.register(SampleImages)
class CategoryAdmin(admin.ModelAdmin):
    readonly_fields = ['image_tag']

models.py

class SampleImages(models.Model):
    image = models.ImageField(upload_to='images/tile_images')

    def image_tag(self):
        return mark_safe('<img src="{}" width="150" height="150"/>'.format(self.image))

    image_tag.short_description = 'Image'

但图像没有显示,我检查了 html,那很好。

<img src="images/tile_images/150x150.gif" width="150" height="150">

在 django admin 中,当我单击图像 url 时,它说

ID 为“1/change/images/tile_images/150x150.gif”的示例图像不存在。也许它被删除了?

图像存在于我的images/tile_images文件夹中。有人可以帮忙吗?。

威尔基林

输出图片的 src 时,请确保使用图片字段的 url 属性:

return mark_safe('<img src="{}" width="150" height="150"/>'.format(self.image.url))

这将确保 URL 正确指向图像在 MEDIA_ROOT 中的位置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章