我正在使用Django 1.3测试版,静态文件应用程序令人困惑.在开发模式下,它意味着自动从STATIC_URL路径中提供文件.
来自http://docs.djangoproject.com/en/dev/howto/static-files/
如果您正在使用内置开发服务器(runserver管理命令)并将DEBUG设置设置为True,那么您的静态文件将自动从开发中的STATIC_URL提供.
这似乎不起作用,所以我尝试了一个url模式('/ static /'),它路由到static.serve视图.这只是404'd.不知何故,它与STATIC_URL冲突,如果我将其更改为'assets /',它将从静态服务文件就好了.对静态URL使用'/ static'是合乎逻辑的,但这有冲突.
网址格局:
urlpatterns = patterns('',
# Serve static files for *development only*
(r'^static/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.STATIC_ROOT}),
Run Code Online (Sandbox Code Playgroud)
静态文件设置:
STATIC_ROOT = '/home/dave/static/flux'
# URL that handles the static files served from STATIC_ROOT.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望Django使用静态URL在开发中搜索文件,而不必使用任何urlpatterns.
如果要在使用内置Django服务器时提供静态文件,则需要添加urlpattern.这就是我所做的(在所有其他模式之后添加:
if settings.DEBUG:
urlpatterns += patterns('',
(r'^static/(.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_PATH}),
)
Run Code Online (Sandbox Code Playgroud)