图像没有出现在Django模板中,但找到了图像路径

时间:2012-09-01 06:24:04

标签: django django-templates

我使用了Imagefield的自定义动态路径。我的图片已完美上传到所需的文件夹中。但是图像没有显示在我的模板中。模板找到了带有//的图像路径,但是无法显示图像。如何解决?

这是我的settings.py

MEDIA_ROOT = '/home/faisal/workspace/pandora/media/'
MEDIA_URL = '/media/'
STATIC_ROOT = ''
STATIC_URL = '/static/'

STATICFILES_DIRS = (
'/home/faisal/workspace/pandora/Static/' ,  
)

这是我的urls.py

urlpatterns = patterns('',
 url(r'^admin/', include(admin.site.urls)),
 url(r'^async/gallery/',include('gallery.urls')),  
 url(r'^media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': '/home/faisal/workspace/pandora/media',}),

这是我的模板标签

<img src="{{ MEDIA_URL }}{{ image.photo.url }}" alt="{{ image.title }}" />

这是我的views.py:

return render_to_response('gallery/image.html', 
{  
    'e_piclist' : e_piclist, 

},context_instance=RequestContext(request))   

在我的模板中,而不是显示图像,这显示图像alt。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您的图片代码无需{{MEDIA_ROOT}},请将代码更新为

<img src="{{ image.photo.url }}" alt="{{ image.title }}" />

image_field.url提供绝对路径。请参阅File field storage

上的第3点