天天看點

Django 1.9 靜态檔案配置

django 靜态檔案的配置涉及到settings 中的三個配置項STATIC_URL、STATICFILES_DIRS及STATIC_ROOT

1. 開發伺服器中靜态檔案的配置及應用

(1)STATIC_URL

配置:預設情況下 settings 配置 STATIC_URL = '/static/'

應用:在 app 目錄下建立 static 檔案夾,将 style.css 放入,然後在模闆中可通過路徑/static/style.css 通路

(2)STATICFILES_DIRS

配置:STATICFILES_DIRS = (

                  os.path.join(BASE_DIR, "common_static"),

           )

應用:在project 目錄建立 common_static 檔案夾,将 style.css 放入,然後在模闆中同樣通過路徑"/static/style.css"通路,或者在模闆頭部加上{%load staticfiles%}引入标簽庫,然後用"{% static "style.css " %}"通路。

說明:邏輯上來說上述兩種路徑中的靜态檔案都位于 static 檔案夾中,是以都需要通過/static路徑來通路;STATICFILES_DIRS所配置的靜态檔案目錄通常用于存放多個 app 共用的靜态檔案。

2. 部署伺服器中靜态檔案的配置及應用

配置:STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static')

應用:在 project 目錄中建立collected_static檔案夾;

           運作 manage.py collectstatic,即可将所有靜态檔案(包括STATIC_URL 及STATICFILES_DIRS)集中至collected_static;

(1)使用 nginx的配置

    location /static {

alias /os/path/to/project/collected_static;

    }

(2)直接使用 uwsgi

    uwsgi --http :8000 --module project_name.wsgi --static-map /static=/os/path/to/collected_static