您当前的位置:首页 > 计算机 > 编程开发 > Python

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

时间:12-05来源:作者:点击数:
城东书院 www.cdsy.xyz

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

1、STATIC_ROOT

# BASE_DIR 是项目的绝对地址
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独有的)

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

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来访问你的图片了

城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐