[英]View thumbnails of uploaded images in django admin
我正在嘗試將縮略圖添加到django admin中的列表視圖。
這是我的應用程序的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)
我的圖片對象稱為“圖片”。 如果我只是將其添加到列表視圖,那么django將返回具有完整路徑的鏈接。 我正在尋找列表視圖的模板,以便可以添加安全過濾器,但找不到它。 還有其他想法如何實現嗎?
如果您使用的是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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.