【问题标题】:Django - Can I delete apps static files after running collectstaticDjango - 我可以在运行 collectstatic 后删除应用程序静态文件吗
【发布时间】:2025-12-28 07:50:15
【问题描述】:
来自this的回答,
collectstatic 是一个现成的脚本,可以为您准备好这个目录,这样您就可以将它直接连接到您的部署脚本。
运行collectstatic 命令后,我的应用程序中的所有静态文件都将复制到我项目根目录下的static 文件夹中。
我可以删除我的应用程序中的static 文件夹吗?因为它们已经被复制了。我觉得这只是在复制文件并花费我的文件大小,还是我遗漏了什么?
我删除了我的应用程序中的 static 文件夹,但它不再工作了。为什么要复制我的静态文件,或者我可以在上线后删除它们?
【问题讨论】:
标签:
django
django-staticfiles
【解决方案1】:
当你运行 collectstatic 时,Django 会收集所有应用程序中的所有静态文件,并将其放入指定的静态文件文件夹中。这非常适合部署,例如在 Apache 或 Nginx 上,因为它们知道在哪里查找静态文件。任何额外的静态文件(不属于任何应用程序的,也可以放入此文件夹)。
是的,如果您担心磁盘存储,可以在生产环境中删除每个应用程序中的静态文件。但是,如果您的文件如此庞大,请考虑从 S3 或 Azure Blob 存储中提供静态文件的解决方案。
另外,如果 DEBUG 模式开启,Django 将提供来自应用程序文件夹的静态文件。如果关闭,它将从静态文件夹中查找静态文件。