STATIC_ROOT
STATIC_ROOT是一个比较特殊的文件夹。这是区别Django的开发模式和部署模式下最大的地方了。
通常我们在开发模式下,可以在我们所在的project下建立相应的app, 然后每个app下都建立相应的static文件夹。在开发模式下(Debug=True),Django将为我们自动查找这些静态文件(每个app)并在网页上显示出来。然而,在部署模式下,Django认为这些工作交由web服务器来运行会更有效率。
因此,在部署时,我们需要运行一下python manage.py collectstatic 这个命令。这个命令将会把每个app里的static目录下的文件copy到STATIC_ROOT这个文件夹下,这时候如果在部署模式下(Debug=False),网页中相关的,如: http://127.0.0.1/static/*** 的访问,将不会访问Django下各个App中的static,而是STATIC_ROOT中所指定的文件夹。
---------------------
作者:圣迪
来源:CSDN
原文:https://blog.csdn.net/cendywang/article/details/17587001
版权声明:本文为博主原创文章,转载请附上博文链接!
但是在实际的配置中,static文件夹被安排在项目文件夹下,与项目文件家的settings.py位于同一目录(注意不是app!)
且在setting中
配置STATICFILES_DIRS(参考https://blog.csdn.net/T_Tbread/article/details/18889585)
-
STATICFILES_DIRS = (
-
('css',os.path.join(STATIC_ROOT,'css').replace('\\','/') ),
-
('js',os.path.join(STATIC_ROOT,'js').replace('\\','/') ),
-
('images',os.path.join(STATIC_ROOT,'images').replace('\\','/') ),
-
('upload',os.path.join(STATIC_ROOT,'upload').replace('\\','/') ),
-
)
文件夹中都应当提前备好。