2017-08-29 7 views
0

私はこの問題についていくつかの記事を読んできましたが、多くのアプローチを試しました。結局私はDjangoのドキュメントに戻りました。 (ここからの情報に基づいて:Django DocsDjangoが管理者リストにファイルをアップロードしました

私は管理者のリストに表示されるようにアップロードされた画像を取得しようとしている...

マイmodels.py

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

あなたは 'src'として' self.file.url'を試しましたか? –

答えて

0

次のようにも更新models.pyformat_htmlの代わりに

これを試すことができます:あなたのadmin.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' 

を:

list_display= ('image_tag',) 

可能なパッケージdjango-imagekitもあります助けてください。

+0

いいえ - 残念ながらどちらもうまくいきませんでした。それは私がSO上で見つけた他のものと非常に似ていますが、私が上で概説した方法は現在のバージョン(1.11)のものですが... ...でも動作しません。 – Funktion

+0

'mark_safe'で試してみることができます。私は上記の私の答えを更新しました。 –

+0

また、正しい場合はメディアのURLを確認してください。 –

関連する問題