请问在Django 1.7中,当debug=False时,
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)。
不起作用?
打印出来为[]
需要替换成urlpatterns += patterns('',url(r'^static/(?P.*)$', 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT,}),)
才可以。。。
有同学遇到相同的问题吗?
多谢~
代码如下:
print "static pattern is %s" % static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
if not settings.DEBUG:
#urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += patterns('',url(r'^static/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT,}),)
参考资料:
Django Debug 为false 时,静态资源的处理
How to Tango with Django 1.7
debug=False
的时候,往往是线上的生产环境。生产环境下,静态文件更多的是交给静态服务器,例如
Nginx
处理,django就不需要处理这些静态文件了。