官网文档地址:管理静态文件
金句:
时间是世界上一切成就的土壤。时间给空想者痛苦,给创造者幸福。——麦金西
开篇话:
不知道各位有没有遇到过部署Django代码到生成环境时,把settings.py 中的DEBUG改为False
后,发现admin后台页面的样式丢失了。页面虽然能打开,但是跟平时看到的页面不太一样,这就是没有正确的管理Django的静态文件。
操作步骤:
- 确保
settings.py的INSTALLED_APPS
包含了django.contrib.staticfiles
。 - 在
settings.py
文件的最后添加STATIC_URL = '/static/'
和STATIC_ROOT = os.path.join(BASE_DIR, 'static')
` - 在项目根目录下,新建
static
文件夹。 - 配置项目的
urls.py
文件,增加以下以下内容:
from project.settings import DEBUG
if not DEBUG: # 生产环境 添加静态目录路由
urlpatterns += [
re_path(r'^static/(?P<path>.*)$', static.serve, {'document_root': settings.STATIC_ROOT}),
]
- 在项目目录下,执行命令:
python manage.py collectstatic
经过以上操作就可以正常显示admin后台的页面。
提醒:
- 一定要保证static的路径跟settings.py中添加的目录一致,否则还是会丢失后台页面样式。
- 以上环境是django 2.x,如果是1.x 版本的re_path处会有所不同。可以看文档:Django 2.x版本的path替换1.x的url的区别