我想通过 django 1.5 内置开发服务器启用静态文件服务。我遇到了一个奇怪的问题。
如果我向我的静态文件发出请求,localhost:8000/static/staticstyle.css
那么它会以404
未找到来回应我。但是,如果我向同一个文件发出请求而没有在 中提到的值STATIC_URL
并将 url 模式添加为"url(r'^anyval_other_than_mentioned_STATIC_URL/', django.views.static.serve,{'document_setting':settings.STATIC_ROOT}), "
,那么它会用 响应我304
,这是有条件的获取。
我已经收集了设置文件中静态目录设置中的所有静态文件,并启用了模板所需的所有上下文处理器。
对于生产,我使用 nginx 来提供静态文件,所以没有问题。
我的 settings.py 看起来像
STATIC_ROOT = APPLICATION_PATH+"/static/"
STATIC_URL = '/static/'
STATICFILES_DIRS = (
('vendors',APPLICATION_PATH+'/vendors'),
('admin/assets/',APPLICATION_PATH+'/templates/admin/assets'),
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
)
我的应用程序 urls.py 看起来像
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
任何提示将不胜感激。
谢谢你 。