博客源为书写的载体,书写以对思维的缓存 正文

Django部署后xadmin和DjangoUeditor样式失效


我的博客是Nginx + Gunicorn部署到阿里云上的,部署成功后表面上一切正常等我登陆xadmin时发现样式都失效了,另外我的xadmin集成了DjangoUeditor了,也同样样式失效,下面就说说如何解决吧。

其实很简单,发现问题后第一想到的是nginx,因为所有的静态文件都会由nginx处理,于是我去查看nginx.error.log,nginx提示信息为:

[error] 8528#8528: 
*204 open() "/home/project/myblog/static/xadmin/css/xadmin.main.css" failed (2: No such file or directory)
[error] 8528#8528: 
*384 open() "/home/project/myblog/static/ueditor/ueditor.all.min.js" failed (2: No such file or directory)

那就很清楚了,找不到相关的文件。但是我比较纳闷部署时执行的python manage.py collectstatic时难道没有将xadmin和DjangoUeditor的静态文件收集吗?

先解决问题:

将xadmin的静态文件和DjangoUeditor的静态文件拷贝到项目的static目录下

Snipaste_2018-11-14_20-08-16.jpg

我的xadmin是源码安装,如果你是pip安装那么去找xadmin的安装文件夹。如图所示,拷贝的是static下的xadmin这个文件夹(箭头所指),这是根据上面的nginx错误提示信息来拷贝的。

然后就是DjangoUeditor,我是pip安装,所以通过命令找它的安装文件夹。

Snipaste_2018-11-14_20-19-15.jpg

进入后同理根据上面的nginx错误提示信息,找到static下的ueditor目录并拷贝到我们项目的static目录下

Snipaste_2018-11-14_20-23-17.jpg

最后项目的结构图为:

Snipaste_2018-11-14_20-28-25.jpg

然后执行python manage.py collectstatic命令,收集xadmin和ueditor这两个静态文件。

最后

-5c01aaeba347bcc9.jpg