首页 > 解决方案 > Django - 我可以在运行 collectstatic 后删除应用程序静态文件吗

问题描述

这个答案,

collectstatic是一个现成的脚本,为您准备此目录,以便您可以将其直接连接到您的部署脚本。

运行collectstatic命令后,我的应用程序中的所有静态文件都将复制到static项目根目录中的文件夹中。我可以删除static我的应用程序中的文件夹吗?因为它们已经被复制了。我觉得这只是在复制文件并花费我的文件大小,还是我遗漏了什么?我删除了static我的应用程序中的文件夹,但它不再工作了。为什么要复制我的静态文件,或者我可以在上线后删除它们?

标签: djangodjango-staticfiles

解决方案


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

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

此外,如果 DEBUG 模式打开,Django 将从应用程序文件夹中提供静态文件。如果关闭,它将从静态文件夹中查找静态文件。


推荐阅读