django - Django - 我可以在运行 collectstatic 后删除应用程序静态文件吗
问题描述
从这个答案,
collectstatic
是一个现成的脚本,为您准备此目录,以便您可以将其直接连接到您的部署脚本。
运行collectstatic
命令后,我的应用程序中的所有静态文件都将复制到static
项目根目录中的文件夹中。我可以删除static
我的应用程序中的文件夹吗?因为它们已经被复制了。我觉得这只是在复制文件并花费我的文件大小,还是我遗漏了什么?我删除了static
我的应用程序中的文件夹,但它不再工作了。为什么要复制我的静态文件,或者我可以在上线后删除它们?
解决方案
当您运行 collectstatic 时,Django 会收集所有应用程序中的所有静态文件,并将其放入指定的静态文件文件夹中。这非常适合部署,例如在 Apache 或 Nginx 上,因为它们知道在哪里查找静态文件。任何额外的静态文件(不属于任何应用程序,也可以放入此文件夹)。
是的,在生产中,如果您担心磁盘存储,您可以删除每个应用程序中的静态文件。但是,如果您的文件如此庞大,请考虑从 S3 或 Azure Blob 存储提供静态文件的解决方案。
此外,如果 DEBUG 模式打开,Django 将从应用程序文件夹中提供静态文件。如果关闭,它将从静态文件夹中查找静态文件。
推荐阅读
- mysql - 计算两个不同合并查询的差异 - SQL
- python-3.x - Selenium + Chrome WebDriver 不返回 page_source
- python - 在 python 中附加到相同声明的列表时出现“未定义列表”的错误
- swift - 不能在 swift 中使用 base64 解码
- javascript - Javascript范围和功能
- css - 如何将此按钮放置在此导航栏中的右侧
- angular - mat-select 内的模板出口不起作用
- vue.js - VueJs:惯性事件侦听器不起作用
- amazon-web-services - 通过 AWS IoT Basic 摄取发送的消息是否不会到达订阅者(与 MQTT 或 HTTP 不同)?
- sql-server - LDAP 可分辨名称在 MSSQL 中包含撇号