如何在管理面板Django 1.3上传的模板中显示图像

时间:2011-07-23 11:54:36

标签: django django-1.3

我是django的新手。我正在开发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”但不显示。当我手动转到该图像时,它显示404错误。

2 个答案:

答案 0 :(得分:3)

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

更新

同样在你的urls.py中:

if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^' + settings.MEDIA_URL.lstrip('/'), 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT})

答案 1 :(得分:0)

它工作正常!...在urls.py文件中导入setting.MEDIA_ROOT后,我添加了一个媒体规则,以便IT现在正在工作..

BTW它还需要

{{ about.image.url }} 

as @zsquare(谢谢)早些时候说过这是媒体规则

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