gpt4 book ai didi

python - 在django admin中查看上传图片的缩略图

转载 作者:太空宇宙 更新时间:2023-11-04 00:07:20 25 4
gpt4 key购买 nike

我正在尝试将缩略图添加到 django 管理中的 ListView 。

这是我的应用程序的 admin.py,我做到了这一点:

from django.contrib import admin
from .models import Image
from django import forms
from django.db import models

class ImageAdmin(admin.ModelAdmin):
list_display = ("label","tag","order",'Edit','image_img')
list_editable= ("order",)
list_filter = ('tag',)
search_fields = ('tag', 'label')
ordering = ['-order']
list_display_links = ('Edit', )
def Edit(self, obj):
return "Edit"
def image_img(self,obj):
if obj.pic:
return '<img src="%s" height="100px"/>' % obj.pic.url
else:
return 'No_image'
image_img.short_description = 'Image'
image_img.allow_tags = True
admin.site.register(Image,ImageAdmin)

this is what i get

我的图片对象叫做“pic”。如果我只是将它添加到 ListView 中,django 会返回带有完整路径的链接。我一直在寻找 ListView 的模板,以便我可以添加 |safe 过滤器,但我找不到它。任何其他想法如何实现它?

最佳答案

如果您使用的是 Django > 2.0,则可以使用 mark_safe() 装饰器将例程标记为安全:

from django.utils.safestring import mark_safe

@mark_safe
def image_img(self,obj):
if obj.pic:
return '<img src="%s" height="100px"/>' % obj.pic.url
else:
return 'No_image'

它也可以用作函数:

def image_img(self,obj):
if obj.pic:
return mark_safe('<img src="%s" height="100px"/>' % obj.pic.url)
else:
return 'No_image'

在旧版本的 Django 中,我相信您可以将 allow_tags 选项设置为 true:

image_img.allow_tags = True  # Put this after the function definition

关于python - 在django admin中查看上传图片的缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53653487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com