STATIC_URL , django 創建的時候就有用來存放app靜態資源
STATICFIELS_DIR 是一個公共通用靜態文件,就是app外的公共資源
如果想要我們的Ap能夠調用這些公共資源就需要配置這個STATICFIELS_DIR了
STATICFILES_DIRS告訴django,首先到STATICFILES_DIRS裏面尋找靜態文件,其次再到各個app的static
文件夾裏面找(注意, django查找靜態文件是惰性查找,查找到第一個,就停止查找了)
部署的時候就需要STATIC_ROOT 了
STATIC_ROOT ,在python manage collectstatic
之後,會把所有的靜態文件都(映射)複製到這個 static_all
文件夾,包括STATICFILES_DIRS中的資源,
最佳的配置方式是將所有的App 下面的靜態文件統一放置到一個目錄下面,然後將該目錄設置爲STATICFILES_DIRS,而 STATIC_ROOT則設置爲另外的目錄:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static_all')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
靜態文件有私有static 也有共有的static
nginx.conf 中的配置
location /static {
# 所有的靜態文件都會在 STATIC_ROOT 這個目錄下獲取
alias /home/liuyang/Web_Project/Data_Web/For_Cli/static;
參考:
https://blog.csdn.net/u013967628/article/details/83350741
https://www.cnblogs.com/shengulong/p/10322055.html