在这里记录一下在django中困扰我的静态文件配置问题。
环境配置
- django2.2
- python3.8.7
django中的static_url, static_root, staticfiles_dirs是什么意思?
STATIC_URL:这个url是django在具体的app下设置静态文件目录。例如,在html中使用{% static ‘xx/xx/xx/’%}},这里的static指代的就是在setting中设置的static_url。
STATIC_ROOT:这个配置的作用是,当我们准备将项目部署到服务器上时,需要收集django中的静态文件到一个目录中。用作nginx或者apache中静态文件请求地址。python mange.py collectstatic收集到的静态文件便是存储在STATIC_ROOT中。
STATICFILES_DIRS:在django的官方文档中,这里一般存放的是通用静态文件。django会在staticfiles_dirs的配置中依次寻找应该请求的文件。值得注意的是,staticfiles_dirs中的路径不能包含static_root的路径,否则会报错。