1. 程式人生 > >關於Django 中啟動自帶伺服器進入後臺admin沒有樣式的問題...

關於Django 中啟動自帶伺服器進入後臺admin沒有樣式的問題...

凌晨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>,結果如下:



暴力解決法...怪異模式...