【原创】django(suit)后台样式丢失解决方法

发布于 2019-11-20  144 次阅读


环境:

django 1.11

python 3.6

django-suit==0.2.26(后台管理页面美化插件)

问题:

打开django自带的管理后台(或者后台美化插件)时,页面样式丢失

复现方式:

把Django settings中的DEBUG改为False时,管理后台样式就丢失了。

解决办法:

1.在settings.py中增加如下配置

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

2.在控制台执行如下命令(会在根目录下生成static文件里边存储的事admin的样式文件):

python manage.py collectstatic

3.修改urls.py文件

from project.settings import STATIC_TOOT
from django.views.static import serve

urlpatterns = [
    url('admin/', admin.site.urls),
    url(r'^static/(?P<path>.*)$', serve, {'document_root': STATIC_ROOT}),
]

4.重启项目样式恢复正常

原因:

django的生产环境不同开发环境,在生产环境下(DEBUG=False),django.contrib.staticfiles 是不起任何作用的,也就说 django.contrib.staticfiles 只对开发环境(DEBUG=True)开启。所以会导致后台页面样式丢失现象

参考文档:

1、https://blog.csdn.net/SL_World/article/details/89713329

2、https://blog.csdn.net/cobrayangxiaoping/article/details/84328000