删除收集的静态文件

问题描述

几周前我跑了collectstatic,我想删除大部分(99.5%)收集的文件,以便在部署到生产环境时不必存储它们。我尝试了collectstatic --clear,但此操作将它们删除,然后再将删除文件放回原处(不确定命令的实际意义是什么。文档指出它用于“删除过时的静态文件”,但肯定不会)做到这一点)。有办法擦除收集的文件吗?

我一直在使用this page of the Django docs来寻求解决方案,但是没有任何运气。

解决方法

为什么不简单地删除静态文件夹的内容并使用collectstatic重新创建它呢?它应该只收集更新的文件。在此之前进行备份,如果已减少,您还可以比较新旧文件夹的内容。

,

通过有趣的命令和动作组合来完成工作。将静态文件夹替换为仅包含所需内容的新文件夹后,

的基本命令
collectstatic --noinput --clear --no-post-process

忘记清除大部分文件,而不重新复制它们。但是,js和css文件仍在复制中。为了让系统忽略这些文件而不复制它们,我对每个要复制的JS和CSS填充文件夹使用--ignore标记。就我个人而言,此附加命令如下所示:

--ignore facebook --ignore gis

最后,另一个用户的完整命令模式如下所示:

collectstatic --noinput --clear --no-post-process --ignore [JSfolder0] --ignore [JSfolder1] --ignore [JSfolder2]
,

最佳做法是,只需更新您的.gitignore文件以忽略您的staticfiles目录。

因此,这会给您带来部署和开发过程的麻烦。

通过这种方式,您无需考虑collectsatic命令生成的文件

在这里,例如.gitignore文件:

https://gist.github.com/santoshpurbey/6f982faf1eacdac153ffd86a3a694239

或了解以下内容:https://djangowaves.com/tips-tricks/gitignore-for-a-django-project/

相关问答

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