Python 新Django应用程序媒体\u URL路径不正确

Python 新Django应用程序媒体\u URL路径不正确,python,django,Python,Django,因此,我通过python manage.py startapp foo在Django中创建了一个新应用程序 我的新应用程序不会通过{media\u URL}加载/site\u media/目录中的任何文件。他们正在尝试从应用程序的目录而不是/site\u media/目录创建路径 示例: 而不是从http://sitename/site_media/bootstrap/bootstrap.min.css 它尝试从http://sitename/foo/bootstrap/bootstrap.m

因此,我通过python manage.py startapp foo在Django中创建了一个新应用程序

我的新应用程序不会通过
{media\u URL}
加载
/site\u media/
目录中的任何文件。他们正在尝试从应用程序的目录而不是
/site\u media/
目录创建路径


示例: 而不是从
http://sitename/site_media/bootstrap/bootstrap.min.css

它尝试从
http://sitename/foo/bootstrap/bootstrap.min.css


下面是
settings.py
中的一个片段,它定义了
MEDIA\u URL

MEDIA_URL = '/site_media/'
我可以通过在
base.html
和my
show\u foo.html
中将
{{MEDIA\u URL}}
替换为
/site\u MEDIA/
来强制在应用程序中正确加载文件,但这会中断站点其余部分的路径

我不确定其他人还想看到什么来尝试和诊断这个问题,但我被难住了


以防万一: 从我的应用程序目录中的
url.py

#!/usr/bin/python
# -*- coding: UTF8 -*-
from django.conf.urls.defaults import *

urlpatterns = patterns('foo_web.foo_track.views',   
url('^$','view_foo_track',name='foo_home'),  
url('^newentry/(?P<entry_id>\d+)$','write_form_data',name='foo_track_new'),
)

我认为您必须在url.py中明确定义“site\u media”url

像这样:

将此添加到导入

from django.conf import settings
这与您的URL模式有关:

url(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {
        'document_root': settings.MEDIA_ROOT}))
url(r'^site\u media/(?P.*)$,“django.views.static.service”{
“document_root”:settings.MEDIA_root})

否则,Django将假定您使用不同的web服务器来提供静态内容。顺便说一下,这是个好主意。这是一篇关于

的文章,谢谢大家的帮助!结果证明这只是我犯的一个错误:(尽管结果很有趣

我注意到日志中有一些有趣的地方,关于模板中使用了(%csrf_token%),但是上下文没有提供值。这通常是由于没有使用RequestContext造成的。

瞧,在我的
视图.py中,这一行是不正确的:
return render\u to\u response('foo\u track/foo\u track\u show.html',{'access':access})

它应该有
RequestContext(request)
以及以下内容:
返回render\u to\u响应('foo\u track/foo\u track\u show.html',{'access':access},RequestContext(request))


现在一切都正常了。Sheesh!

django.core.context\u processors.media
在你的
模板\u context\u processors
设置中?嗯。我没有
模板\u context\u processors
,我没有配置这个网站,所以我只能以无知为借口。最后是“罪魁祸首”在我的同事lol上。所以我应该添加这里概述的块([),并且应该得到一些有建设性的错误消息吗?@shuttle87我尝试添加了您提到的块,还有nada。感谢您的回答,我们希望在不久的将来过渡到Apache。我发现了我的错误,这只是我把事情搞砸的又一个例子!
url(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {
        'document_root': settings.MEDIA_ROOT}))