所以我仔细阅读了这一页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'}),