Django学习:DEBUG=True时前台无法加载,DEBUG=False时管理后台无样式问题

Django学习:DEBUG=True时前台无法加载,DEBUG=False时管理后台无样式问题,第1张

在生产和环境中出于安全性问题,我们需要将setting.py文件中的DEBUG设置为false,这时后台管理页面样式会丢失。



问题如图:

问题原因:
django的生产环境不同开发环境,在生产环境下(DEBUG=False),django.contrib.staticfiles不起作用,也就是说django.contrib.staticfiles只对开发环境(DEBUG=True)生效,所以导致后台样式丢失。



只需在setting.py文件最后添加

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

之后在主文件urls.py的urlpatterns中添加代码如下

urlpatterns = [
    path('', include('polls.urls')),
    path('hs/', admin.site.urls),
    #如下为添加代码
    re_path('static/(?P.*)', serve, {'document_root':settings.STATIC_ROOT})
]

虽然之后两行代码却花费了好几个小时,在网上搜了好多解决办法,虽然不知道其中的原理,希望下次再遇到这种问题可帮助到自己。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/570742.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存