Django关闭debug模式,xadmin样式丢失

Django关闭debug模式,xadmin样式丢失,如下所示:(瞬间感觉回到解放前了,郁闷啊)


image.png

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

问题定位:
打开前端页面,按下F12,点击Network,然后F5刷新下,检查未加载成功的静态文件请求地址,如下所示

image.png

发现请求地址为:http://127.0.0.1:1101/static/xadmin/vendor/bootstrap/css/bootstrap.css,检查自己的static静态文件存储目录,没有xadmin/vendor/bootstrap/css/bootstrap.css文件,所以现在很好理解了,找不到静态文件自然无法成功加载样式了。

解决办法:
1、修改setting.py文件

STATIC_URL = '/static/'
STATIC_ROOT = 'static'
STATICFILES_DIRS=[
    os.path.join(BASE_DIR,'/static/')
]

2、修改urls.py文件

urlpatterns = [
 path('xadmin/', xadmin.site.urls),
 //...
需要添加的
url(r'^static/(?P<path>.*)$', static.serve,{'document_root': settings.STATIC_ROOT}, name='static'),
]

3、将xadmin插件中static目录下面的xadmin文件夹复制到根目录static后,重启服务器,xadmin样式恢复成功


image.png
image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。