Python 在Django中提供静态内容会导致404用于CSS文件

Python 在Django中提供静态内容会导致404用于CSS文件,python,django,static-files,Python,Django,Static Files,所以我仔细阅读了这一页。我已经做了以下工作: 在url.py中 from django.conf.urls import patterns, include, url from views import * urlpatterns = patterns('', ('^SearchFoos$', searchForFoos), ('^Foo/(\d+)$', showFoo),

所以我仔细阅读了这一页。我已经做了以下工作:

在url.py中

from django.conf.urls import patterns, include, url
from views import *

urlpatterns = patterns('',
                       ('^SearchFoos$', searchForFoos),
                       ('^Foo/(\d+)$', showFoo),
                       (r'^static/(?P<path>.*)$', 'django.views.static.serve',
        {'document_root': '/home/david/workspace/fooapp/fooapp/static'}),
)
然而,当我使用runserver加载页面时,Firefox为CSS文件提供了404。它正在尝试从位置
http://localhost:8000/static/css/site.css
,这正是我所期望的

我一直盯着它看,看不出问题所在。有人能帮忙吗(我对python和django一无所知)。

试试:

(r'static/(?P<path>.*)$', 'django.views.static.serve',
        {'document_root': '/home/david/workspace/fooapp/fooapp/static'}),
(r'static/(?P.*)$,'django.views.static.service',
{'document_root':'/home/david/workspace/fooapp/fooapp/static'}),
查看关于在开发中提供静态文件的说明。如果不使用内置的django服务器,则需要将其添加到URL.py文件中。确保正确配置了静态目录和静态URL设置

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

# ... the rest of your URLconf goes here ...

urlpatterns += staticfiles_urlpatterns()
如文档中所述,您需要确保settings.py中的
DEBUG=True


如果您使用的是内置的django服务器,只需将静态文件放在应用程序顶层名为static的目录中即可。

您确定使用的是django 1.2吗?这是非常古老的东西
django。版本
给了我
(1,4,1,'final',0)
。所以我猜你应该读过这篇文章,我没有看到任何反对票-虽然使用它很长时间了,但我相当肯定django有一个允许在模板中使用的静态(虽然我个人的观点是通过负载平衡的nginx前端提供静态服务)对我来说似乎是一个非常好的问题。+1J4I:您没有被迫使用
静态文件\u urlpatterns
-它仍然以“旧方式”工作正如init3所暗示的那样——我建议用我的新代码替换你破旧、陈旧、过时的静态url条目。虽然你可能不会“被迫”使用新方法,但公平地说,旧方法是“坏”的,如果你使用它,一个仙女可能会死。对不起——我的意思是——我根本不需要任何url条目——它出现在1中.4,runserver默认情况下将提供静态内容,分别使用
STATICFILES\u DIRS
static\u URL
设置查找静态文件并为其提供基本URL。是的,有很多fairy。使用
python manage.py collectstatic
将所有静态文件移动到static\u ROOT,并让您的Web服务器为它们提供一个基本URLt STATIC_URL.感谢您的建议。正如@fsw所指出的,在1.2版和1.4版之间,启用服务静态内容的整个方法都发生了变化。
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

# ... the rest of your URLconf goes here ...

urlpatterns += staticfiles_urlpatterns()