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



所以我仔细阅读了这一页https://docs.djangoproject.com/en/1.2/howto/static-files/.我做了以下工作:

在urls.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'}),
)

我在位置/home/david/workspace/fooapp/fooapp/static/css有一个名为site.css的文件。

在模板中

我的模板包含以下链接:

<link href="/static/css/site.css" rel="stylesheet" type="text/css" />

然而,当我使用runserver加载页面时,Firefox会为CSS文件提供404。它试图从http://localhost:8000/static/css/site.css位置获取文件,这正是我所期望的。

我一直盯着这个,一直盯着它,看不出有什么问题。有人能帮忙吗(我对python和django完全陌生)。

查看关于在开发中提供静态文件的django 1.4文档。如果您没有使用内置的django服务器,则需要将其添加到urls.py文件中。确保您的STATIC_DIRS和STATIC_URL设置已正确配置。

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
# ... the rest of your URLconf goes here ...
urlpatterns += staticfiles_urlpatterns()

如文档中所述,您需要确保DEBUG = True在您的设置中.py.

如果你使用的是内置的django服务器,你只需要将静态文件放在应用程序顶层的一个名为static的目录中,它就会正常工作。

try:

(r'static/(?P<path>.*)$', 'django.views.static.serve',
        {'document_root': '/home/david/workspace/fooapp/fooapp/static'}),

相关内容

  • 没有找到相关文章

最新更新