前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >django debug=false 时的静态路由设置

django debug=false 时的静态路由设置

作者头像
一朵灼灼华
发布2022-08-05 19:56:25
6810
发布2022-08-05 19:56:25
举报
文章被收录于专栏:一朵灼灼华的博客

把DEBUG从True改成False后就会出现404(必需指定404和500错语页面,如上图的目录结构)找不到页面的错误。原因是DEBUG为 True时django会默认帮我们处理静态文件,而为False的话还需要我们做点事。在全局usrs.py中加下如下代码:

代码语言:javascript
复制
from django.conf import settings 
import django 
if settings.DEBUG is False:
    urlpatterns += [
        url(r'^static/(?P<path>.*)$',django.views.static.serve,{'document_root': 'C:/Users/Administrator/Desktop/hctx/op/op/static' ,}), 
        ]
代码语言:javascript
复制

或者

代码语言:javascript
复制
from django.conf import settings 
import django 
if settings.DEBUG is False:
    urlpatterns += [
        url(r'^static/(?P<path>.*)$',django.views.static.serve,{'document_root': settings.STATIC_ROOT,}), 
        ]

并在setting中添加

代码语言:javascript
复制
STATIC_ROOT = 'C:/Users/Administrator/Desktop/hctx/op/op/static'

或者

代码语言:javascript
复制
#start
from django.conf import settings 
import django 

#end
if settings.DEBUG is False:
    import os
    STATIC_ROOT = os.path.join(os.path.dirname(__file__),'static')
    urlpatterns += [
        url(r'^static/(?P<path>.*)$',django.views.static.serve,{'document_root': STATIC_ROOT ,}), 
        # url(r'^static/(?P<path>.*)$',django.views.static.serve,{'document_root': 'C:/Users/Administrator/Desktop/hctx/op/op/static' ,}), 
        ]

以上设置是指定静态资源的绝对路径(根据你电脑的具体路径设置正确值),现在应该可以正确访问了。

总结:

  • 在DEBUG为true时我们只需要建立static目录后,把静态资源放进去就可以访问。在DEBUG为False时需要我们手动指定静态资源目录,并配置映射关系。
  • 在正式环境下建议不采用django处理静态资源文件,这样对应用服务器压力较大,也不好做cdn。可以用ngix,apache部署静态资源。

相关链接:https://my.oschina.net/swrite/blog/168561

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档