Django static=False时,静态文件的处理。

请问在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

阅读 4.9k
1 个回答

debug=False的时候,往往是线上的生产环境。

生产环境下,静态文件更多的是交给静态服务器,例如 Nginx处理,django就不需要处理这些静态文件了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题