我正在使用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}),
静态文件设置:
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/'
理想情况下,我希望Django使用静态URL在开发中搜索文件,而不必使用任何urlpatterns。
答案 0 :(得分:5)
如果要在使用内置Django服务器时提供静态文件,则需要添加urlpattern。这就是我所做的(在你所有其他模式之后加上这个:
if settings.DEBUG:
urlpatterns += patterns('',
(r'^static/(.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_PATH}),
)