Как вывести в админке ImageField Django?

Имею поле:
image = models.ImageField(upload_to="icon")
с настройками
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
MEDIA_URL = '/media/'
через админку добавляю изображение, его сохраняет в media/icon. Далее пытаюсь сделать вывод через img его нет. Делаю прямой переход 127.0.0.1:8000/media/icon/i.png его нет.

Добавил в раздачу:
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "media"),
    os.path.join(BASE_DIR, "static"),
)


Почему? Может настройки нужны какие-то?
  • Вопрос задан
  • 2574 просмотра
Решения вопроса 1
crazyzubr
@crazyzubr
Python backend-developer
В классе админки нужно добавить:

def icon_tag(self, obj):
    if not (obj.pk and obj.icon):
            return ''
    return u'<img src="%s" />' % obj.icon.url
icon_tag.short_description = 'Icon'
icon_tag.allow_tags = True


И добавить в ридонли:
readonly_fields = ('icon_tag',)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы