Django:无法解析其余部分(媒体即图像)

时间:2011-04-27 08:59:57

标签: django django-templates django-media

我正在使用Django开发一个WebApp。我是一个新手,我有这个包含图像的html文件,我确实经历了这个"link",但现在我在解析Media Url时遇到错误。可以让我知道什么是错的吗?我检查了权限,即使它们是正确的。 !!

这是我所包含的图像 -

<img border="2" src="{{ MEDIA_URL }}samplelogo.jpg" alt="logo here"/>

这是urls.py -

from django.conf.urls.defaults import patterns, include, url
import settings

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^gharnivas/$', 'gharnivas.views.index'),
    url(r'^media/(?P<path>.*)$','django.views.static.serve',{'document_root': settings.MEDIA_ROOT}),
)

这是带有媒体网址和root的settings.py:

MEDIA_ROOT = '/home/nagaraj/ghar/templates/media'
MEDIA_URL = 'http://localhost:8000/media/'

ghar是django项目,gharnivas是应用程序

更新

现在我已经删除了TemplateSyntaxError的错误,将Media url替换为'/ media /',如下面的@Torsten所示。但仍然获取图片!!

另一个查询,我使用MEDIA_ROOT和MEDIA_URL是否正确?因为有些地方我甚至看到他们有STATIC_URL和STATIC_ROOT !!

2 个答案:

答案 0 :(得分:1)

MEDIA_URL = '/media/'代替MEDIA_URL = 'http://localhost:8000/media/'

答案 1 :(得分:1)

{{ MEDIA_URL }}输出空字符串?确保

1)。 'django.core.context_processors.media'位于TEMPLATE_CONTEXT_PROCESSORS

2)。您在模板中传递RequestContext(在context_instance=RequestContext(request)中传递render_to_response或使用direct_to_template代替)。