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