Django 设置debug=false 出现静态文件读取不到的问题

阅读: 评论:0

Django  设置debug=false   出现静态文件读取不到的问题

Django 设置debug=false 出现静态文件读取不到的问题

Django设置 DEBUG=False后静态文件无法加载解决

出现的问题根本原因是:当我们在开发django应用时如果设置了 DEBUG = True,那么django便会自动帮我们对静态文件进行路由;但是当我们设置debug=Flase后,&#ib.staticfiles’会关闭,即Django不会自动搜索静态文件。这一功能便没有了,此时静态文件就会出现加载失败的情况,想要让静态文件正常显示,我们就需要配置静态文件服务了。参考官方文档.0/howto/static-files/

静态文件访问不到出现的两个问题
一 页面排版不正常,即css文件不能正常加载;
二 通过url不能访问静态文件,如图片等。例如访问127.0.0.1:8000/static/img/example.png会显示404页面。

这里提供几种解决方法:

解决办法一:

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

1.首先修改setting.py文件

STATIC_URL = '/static/'
STATIC_ROOT = 'static' ## 新增行
STATICFILES_DIRS = [os.path.join(BASE_DIR, '/static/'), ##修改地方
]

2.修改url.py文件

from django.views import static ##新增
f import settings ##新增
f.urls import url ##新增urlpatterns = [path('', include('user.urls')),  ## 以下是新增url(r'^static/(?P<path>.*)$', static.serve,{'document_root': settings.STATIC_ROOT}, name='static'),
]

解决办法二:

如果您仍需要本地服务器静态(例如,无需调试进行测试),您可以在不安全模式下运行server,启动服务器命令后面添加

“–insecure”

python manage.py 127.0.0.1:8000 --insecure

本文发布于:2024-01-28 05:15:49,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063901535052.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:静态   文件   Django   debug   false
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23