解決django無法訪問本地static檔案(js,css,img)網頁裡js,cs都載入不了
1.今天網上下載一個部落格專案,發現本地訪問,js,css載入不了.
我想應該是專案上線的安全措施,但是我想除錯專案.找到方法如下
在settings.py裡面編輯
新增
STATICFILES_DIRS = ( os.path.join(BASE_DIR,'static'),)
另外把
STATIC_ROOT = os.path.join(BASE_DIR,'static')
改為
STATIC_ROOT = os.path.join(BASE_DIR,'static1')
即這裡面的static不能和上面的一樣,換個名字.
補充知識:linux下使用uwsgi部署django專案時 靜態檔案不能正常載入
在 linux 下需要用 python-admin 來開 django 的服務,如果你是 python3 那麼命令應為 python3-admin manage.py runserver 可以正常訪問頁面,沒有靜態載入的問題
在配置 uwsgi 時需要更改專案 settings.py 中的設定,更改專案如下
debug=False
allow_host=[‘*']
靜態檔案重定位 STATIC_ROOT =os.path.join(BASE_DIR,”/var/www”)
再進行靜態檔案的轉移 在專案目錄下進行: Python3 manage.py collectstatic 這一步的順序很重要,否則路徑會有問題.
然後配置 uwsgi 有許多方法,我採用的是下面的一種 在專案目錄下新建 socket.xml 檔案(與 manage.py 同級)內容如下:
這時可以用下面這個命令去執行專案 Uwsgi –http :8000 –chdir /home/user/project/hello –module hello.wsgi –static-map=/static=/var/www/ 也可以正常訪問頁面,包括載入靜態頁面
nginx的配置問題
配置 nginx 主要進行兩個檔案的修改,兩個檔案都在/etc/nginx 目錄下 一個是 nginx.conf,需要修改的內容為: 將第一行定位使用者的名字改為你的使用者文字,我的是 root 第二個檔案時 sites-available/sites-enable 目錄下的 default 檔案
哦,還有一步很重要,需要將專案和靜態檔案的許可權更改一下,改為你的使用者可以訪問,讀取,執行,:chmod –R 755 目錄.
以上這篇解決django無法訪問本地static檔案(js,cs都載入不了就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。