当前位置:   article > 正文

Django配置文件里的STATIC_ROOT、STATICFILES_DIRS、STATIC_URL的区别

staticfiles_dirs

要清楚它们的区别,就要搞清楚这三个常量是干什么用的。

1、STATIC_ROOT

  1. # BASE_DIR 是项目的绝对地址
  2. STATIC_ROOT = os.path.join(BASE_DIR, 'xxxxxx')

这个常量在开发模式中不会用到,在部署的时候才会用到。

部署的时候执行python manage.py collectstatic,django会把所有App下的static文件都复制到STATIC_ROOT文件夹下

 

2、STATICFILES_DIRS

开发模式中需要用到。静态文件一般放在两个地方:

(1)每个App下面的static目录

(2)项目根目录下的static目录(因为有些静态文件不是某个app独有的)

  1. STATICFILES_DIRS = (
  2. os.path.join(BASE_DIR, 'common_static'),
  3. )

STATICFILES_DIRS告诉django,首先到STATICFILES_DIRS里面寻找静态文件,其次再到各个app的static文件夹里面找

注意:django查找静态文件是惰性查找,查找到第一个,就停止查找了

 

3、STATIC_URL

STATIC_URL = '/static/'

django利用STATIC_URL来让浏览器可以直接访问静态文件

这样假如你项目根目录/static/下有一个123.png的图片

那么就可以直接通过浏览器http://IP:端口号/static/123.png来访问你的图片了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/489579
推荐阅读
相关标签
  

闽ICP备14008679号