簡體   English   中英

在django admin中查看上傳的圖像的縮略圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM