?
就困擾了我半天的Django靜態文件配置問題
更改了setting 文件后 文件參考問題總會高亮讓然覺得又錯誤怪怪的??
所以索性直接眼不見心不煩
具體操作如下圖:
?
?
?
就這樣就可以啦
大功告成!
也順便提一下靜態文件配置問題:
?
Django靜態加載的設置
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文件頭部用上這個
{% load static %}
【圖中的是具體的 上頭是簡便的 效果一樣】
剛開開始學習 還望csdner多多指教