django STATIC_URL STATIC_ROOT STATICFILES_DIRS 個人理解

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章