本文目录


部署生产环境问题时,admin后台样式丢失处理(管理静态文件)

官网文档地址:管理静态文件

金句:
时间是世界上一切成就的土壤。时间给空想者痛苦,给创造者幸福。——麦金西

开篇话:

不知道各位有没有遇到过部署Django代码到生成环境时,把settings.py 中的DEBUG改为False后,发现admin后台页面的样式丢失了。页面虽然能打开,但是跟平时看到的页面不太一样,这就是没有正确的管理Django的静态文件。

操作步骤:

  1. 确保settings.py的INSTALLED_APPS包含了django.contrib.staticfiles
  2. settings.py文件的最后添加STATIC_URL = '/static/'STATIC_ROOT = os.path.join(BASE_DIR, 'static') `
  3. 在项目根目录下,新建static文件夹。
  4. 配置项目的urls.py文件,增加以下以下内容:
from project.settings import DEBUG
if not DEBUG:  # 生产环境 添加静态目录路由
    urlpatterns += [
        re_path(r'^static/(?P<path>.*)$', static.serve, {'document_root': settings.STATIC_ROOT}),
    ]
  1. 在项目目录下,执行命令:python manage.py collectstatic

经过以上操作就可以正常显示admin后台的页面。

提醒:

  1. 一定要保证static的路径跟settings.py中添加的目录一致,否则还是会丢失后台页面样式。
  2. 以上环境是django 2.x,如果是1.x 版本的re_path处会有所不同。可以看文档:Django 2.x版本的path替换1.x的url的区别
文章作者:  BigYoung
版权声明:  本网站所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 BigYoung !