Django-运行collectstatic后是否可以删除应用程序静态文件

问题描述

this的答案中,

{"status":"noterror"}是现成的脚本,可以为您准备此目录,以便您可以将其直接连接到部署脚本。

运行collectstatic命令后,我的应用程序中的所有静态文件都将复制到项目根目录中的collectstatic文件夹中。 我可以在应用程序中删除static文件夹吗?由于它们已经被复制。我有点觉得这只是在复制文件并浪费了我的文件大小,还是我丢失了某些东西? 我在应用程序中删除static文件夹,但是该文件夹不再起作用。为什么要复制静态文件,或者上线后可以删除它们?

解决方法

当您运行collectstatic时,Django会收集所有应用程序中的所有静态文件,并将其放入指定的静态文件文件夹中。例如,这非常适合在Apache或Nginx上进行部署,因为它们知道在哪里寻找静态文件。任何多余的静态文件(不属于任何应用程序,也可以放入此文件夹中)。

是的,如果您担心磁盘存储,可以在生产环境中删除每个应用程序中的静态文件。但是,如果您的文件那么大,请考虑从S3或Azure Blob存储提供静态文件的解决方案。

此外,如果启用了DEBUG模式,则Django将提供来自apps文件夹的静态文件。如果关闭,它将从statics文件夹中查找statics文件。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...