2017-08-29 66 views
0

我已經在這個問題上閱讀了幾篇文章,並嘗試了很多方法 - 最終我返回了Django文檔。Django在管理員列表中上傳了文件

我試圖讓上傳的圖片出現在管理列表...

我的models.py(基於信息從這裏:Django Docs

from django.db import models 
from django.contrib import admin 
from django.utils.html import format_html 

class File(models.Model): 
    file = models.ImageField() 
    description = models.CharField(max_length=200) 
    def __str__(self): 
     return self.description 
    def image_tag(self): 
     return format_html(
      '<img src="{}" />', self.file 
     ) 

class FileAdmin(admin.ModelAdmin): 
    list_display = ('image_tag', 'description')  

這可悲的是,然而,什麼都不做......

我試圖把任意的HTML以及 - 以防萬一文件的URL是壞的......但沒有任何變化。

任何想法將不勝感激 - 現在非常沮喪。

+0

你試過'self.file.url'作爲'src'嗎? –

回答

0

你也可以試試這個代替format_html

更新models.py如下:

from django.utils.safestring import mark_safe 

def image_tag(self): 

    if self.file: 
     return mark_safe('<img src="%s" width="200" height="200"/>' % self.file) 
    else: 
     return '(No image found)' 

image_tag.short_description = 'Thumb' 

在你admin.py附加:

list_display= ('image_tag',) 

還有一個包django-imagekit這可有幫助。

+0

不 - 不幸的是,那個人不幸工作。這與我在其他人發現的非常相似 - 但似乎我上面概述的方法是針對當前版本(1.11)...但是...也不起作用。 – Funktion

+0

你可以用'mark_safe'試試。我已經在上面更新了我的答案。 –

+0

另外,檢查媒體網址是否正確。 –