若是你的静态资源是某个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
资源如何访问:反向代理