若是你的靜態資源是某個APP專屬,那麼就在這個APP目錄下創建一個static目錄,就像上圖report這個APP中的static目錄。當瀏覽這個APP的網頁時它會從這裏去找資源,固然,它首先會從共用靜態資源目錄裏去找我這裏是commonstatic目錄。若是找不到就去APP的static目錄找。python
關於STATIC_URL的說明:這個就是表示訪問靜態資源的URL是啥,這裏定義的是/static/,其實你改爲/statics/也是同樣的或者直接指定一個具體的ULR好比https://static.xxx.com/。spa
關於STATIC_ROOT這個東西的說明:代理
這個目錄名字也能夠自定義可是要和配置中的名稱一致。這個目錄裏面的東西不是你放進去的,而是運行collectstatic命令(python manage.py collectstatic)它自動收集進去的,它會把各個APP下面的static和共用static都收集進去,這個目錄的做用是幹嗎的呢?就是在有反向代理的時候用到,經過Nginx訪問,你的URL是http://xxx.xxx.xxx/static/js/xxx.js這個它訪問的是/static/這個location,那麼經過Nginx你能夠設置這樣一個location,而後對應到實際的磁盤路徑。blog
collectstatic命令:它會把在STATICFILES_DIRS裏定義的以及APP裏面的static目錄裏的靜態文件收集到STATIC_ROOT指定的 目錄裏。資源
資源查找順序:
這裏是Django的查找順序,你部署Nginx代理屬於另外的狀況。部署
Django的查找順序是先從公共目錄裏也就是STATICFILES_DIRS裏面找,而後再去APP下面的static目錄找。你要不信能夠作個實驗資源名相同可是內容不一樣你看看先找哪個。io
資源如何訪問:反向代理