Как показать изображение в шаблоне, загруженном из админ-панели Django 1.3 - PullRequest
0 голосов
/ 23 июля 2011

Я новичок в Джанго. Я разрабатываю проект в Django 1.3. Проблема в том, что я загружаю изображение из админ-панели

class About(models.Model):

    image = models.ImageField(upload_to='about')
    files = models.FileField(upload_to='about')

Вот мой шаблонный тег

<img class="profile_pic" src="{{ about.image }}" />

Мой файл настроек, как показано ниже

MEDIA_ROOT = path("media/")
MEDIA_URL = '/media/'
STATIC_ROOT = ''
STATIC_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/static/admin/'
STATICFILES_DIRS = (
    path('static/'),
)

Я проверил, что изображение загружено в / media / about / image_name. Проблема в том, что он отображается в шаблоне как "/ about / imagename", но не в порядке Когда я вручную перехожу к этому URL-адресу изображения, отображается ошибка 404.

Ответы [ 2 ]

3 голосов
/ 23 июля 2011

<img class="profile_pic" src="{{ about.image.url }}" />

UPDATE

Также в вашем urls.py:

if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^' + settings.MEDIA_URL.lstrip('/'), 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT})
0 голосов
/ 26 июля 2011

Это сработало! ... После импорта setting.MEDIA_ROOT в файл urls.py, затем я добавил медиа-правило, чтобы ИТ-специалисты работали сейчас ..

Кстати, это также нужно

{{ about.image.url }} 

, как @zsquare (спасибо) сказал ранее. Вот медиа-правило

(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': MEDIA_ROOT}),
...