django的settings中幾個static設置項的關係

django的settings中包含三個static相關設置項:
STATIC_ROOT
STATIC_URL

STATICFILES_DIRS python

STATIC_URL 好理解,就是映射到靜態文件的url,通常爲/static/
STATICFILES_DIRS 是個列表,放各個app的static目錄及公共的static目錄

STATIC_ROOT 是總的static目錄,能夠使用命令自動收集static文件 django

假設有個工程djangodemo,有兩個app爲demo1跟demo2

django處理static的方法是把各個app各自的static合併到一處 app

好比
djangodemo/djangodemo/static 放置公共靜態文件
djangodemo/demo1/static 放置該app本身的靜態文件
djangodemo/demo2/static 放置該app本身的靜態文件
能夠這麼設置:
STATIC_ROOT = '/www/djangodemo/djangodemo/static '

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    'djangodemo/static',
    'demo1/static/',
    'demo2/static/',
)
使用命令
manage.py collectstatic
就會自動把全部靜態文件所有複製到STATIC_ROOT中
若是開啓了admin,這一步是很必要的,否則部署到生產環境的時候會找不到樣式文件
相關文章
相關標籤/搜索