凌晨1点被这个问题搞到差点通宵,这个问题直接去百度,可以发现有很多关于这个问题的解决方法,但是不是我遇到的关键问题,不过这里也顺带总结一下这些方法:
主要问题:在项目manage.py所在目录用命令行输入
我这里的端口选了9999,开启Django的自带的服务器,项目的静态文件没更改过,进入Django自带的后台管理admin时出现css样式不显示的情况
一度以为是python2.7版本的问题,编码字符不是utf-8,而python3版本都是utf-8编码格式,尝试在settings.py添加一下代码
import sys
reload(sys)
sys.setdefaultencoding('gbk')
发现无效,接着在python的安装路径,我的是默认路径C:\Python27\Lib,找到site.py文件第470行将encoding里面的值改为gbk:
encoding = "gbk" # Default value set by _PyUnicode_Init()
还是不行,接着在同目录下找到mimetypes.py文件,在末尾添加代码:
reload(sys)
sys.setdefaultencoding('gbk')
也不行。(还有一种改static指向的方法,在项目里面新建目录static然后在settings.py添加STATIC_ROOT=' /myblog/static' 参数填static的路径,然后命令行执行python manage.py collectstatic会把需要的静态文件复制到static文件下,可惜也是没用。。。)
一度想直接下载python3版本,后来在浏览器的开发者工具里面看到,css的样式文件的状态码是200,代表是接收到了
问题出在了css文件解析的问题了,因为mimetypes.py在启动时会调用注册表,所以又在注册表\HKEY_CLASSES_ROOT\.css里面把Content Type的application/x-css改为text/css
也是什么用都没有,后来想到版本解析的问题,所以我干脆将C:\Python27\Lib\site-packages\django\contrib\admin\templates\admin登陆界面的版本解析删掉,对的就是html5的声明<!DOCTYPEhtml>,结果如下:
暴力解决法...怪异模式...