Django关闭debug模式,xadmin样式丢失,如下所示:(瞬间感觉回到解放前了,郁闷啊)
image.png
网上搜索说是
django的生产环境不同开发环境,在生产环境下(DEBUG=False),django.contrib.staticfiles 是不起任何作用的,也就说 django.contrib.staticfiles 只对开发环境(DEBUG=True)开启。所以会导致xadmin样式丢失现象
问题定位:
打开前端页面,按下F12,点击Network,然后F5刷新下,检查未加载成功的静态文件请求地址,如下所示
发现请求地址为: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
网友评论