就困擾了我半天的django靜態檔案配置問題
更改了setting 檔案後 檔案參考問題總會高亮讓然覺得又錯誤怪怪的
所以索性直接眼不見心不煩
具體操作如下圖:
就這樣就可以啦
大功告成!
也順便提一下靜態檔案配置問題:
django部署方式比較特別,採用靜態檔案路徑:staticfiles_dirs的部署方式,之前你寫的相對路徑,絕對路徑因為缺少靜態檔案路徑而全部失效
當 debug=true 時, 就是本地的開發模式, 這個時候, 訪問壓力很小, django 能處理, 所以直接 python manage.py runserver 就會載入靜態檔案, 即 django 為了方便, 幫你處理了靜態檔案問題
但是當 debug=false 時, django 認為這是生產環境了, 這個時候, 因為 django 處理靜態檔案能力時較差的, 這種情況一般(99%)會使用 nginx 處理靜態檔案, 所以 django 就不再處理靜態檔案了
這個時候, 你再 runserver, 這個 server 只會處理那些 views 中的請求, 靜態檔案不再處理, 所以**能用, 但是 css 沒有載入
ps: 有時候你會發現, debug=false, 好像有 css. 這是因為如果你先 debug=true, 重新整理頁面(此時載入了 css), 再 debug=false, 重新整理頁面會發現還有 css, 這是因為頁面有快取, 還沒有及時清理. 使用清快取重新整理(win 下時 ctrl+f5, mac 下是 cmd+shift+r), 就會發現 css 沒了
**如果想 debug=false 仍能有 css, 最簡單就是
python manage.py runserver –insecure**
好了回到正題先說setting檔案:
先在project檔案結尾處新增
static_url = '/static/'
#普通檔案用
staticfiles_dirs =[
os.path.join(base_dir,'static')
]#上傳檔案目錄
mdeia_root = os.path.join(base_dir,r'static\mdeia')
#static_url這個是原始框架裡面就有的,當然你也可以根據自己的實際情況去修改路徑。
重點是下面一句,
staticfiles_dirs,這個表示django的findstatic是要去那個目錄去找這些靜態檔案。
最後一句是上傳檔案路徑。
再說層級目錄吧
要記得這麼用啊
在html檔案頭部用上這個
【圖中的是具體的 上頭是簡便的 效果一樣】
剛開開始學習 還望csdner多多指教
Django靜態檔案配置
最近用django開發專案,發現django的靜態檔案 js,css和img等 配置比較麻煩,開發環境和生產環境的配置還不一樣,這裡記錄一下,作為備忘。我當前使用的版本是django v1.4.3。吐槽 django的版本不相容是個大問題,網上搜尋相關問題時,解決方案到是一大推,但是均沒有標註版本,...
Django 靜態檔案配置
django 在自身的開發伺服器上有著自身的淺藍色排版。部署到apache伺服器上會呈現一種無排版狀態。原因是 static 靜態檔案沒有配置。1.在設定檔案 settings.py 裡,新增 static url static static root os.path.join base dir,s...
Django靜態檔案配置
本文目的 最近用django開發專案,發現django的靜態檔案 js,css和img等 配置比較麻煩,開發環境和生產環境的配置還不一樣,這裡記錄一下,作為備忘。我當前使用的版本是django v1.4.3。吐槽 django的版本不相容是個大問題,網上搜尋相關問題時,解決方案到是一大推,但是均沒有...