0

我正在使用 Django 开发一个 WebApp。我是新手,我有这个包含图像的 html 文件,我确实通过了这个“链接”,但现在我在解析媒体 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}),
)

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

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

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

更新

现在我通过将 Media url 替换为 '/media/' 来消除 TemplateSyntaxError 的错误,如下面的@Torsten 所建议的那样。但是还是看不到图!!

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

4

2 回答 2

1

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

于 2011-04-27T09:22:46.150 回答
1

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

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

2)。你传入RequestContext你的模板(通过传入或使用context_instance=RequestContext(request)代替)。render_to_responsedirect_to_template

从 Django 1.8'django.core.context_processors.media'移至 'django.template.context_processors.media'

于 2011-04-27T10:07:33.930 回答