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

标签 django django-staticfiles

来自this回答,

collectstatic is a ready-made script that prepares this directory for you, so that you can connect it directly to your deployment script.

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

最佳答案

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

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

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

关于Django - 运行collectstatic后我可以删除应用程序静态文件吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64188313/

相关文章:

javascript - 使用带有 Pandas DF 的 Bootstrap-Table 的 Django 模板

python - collectstatic 生成的文件未在 Django 中提供

python - django.template.exceptions.TemplateDoesNotExist :

python - 在 Heroku 上找不到 Django 静态文件(带有白噪声)

css - STATIC_ROOT 找不到我的静态文件

python - django admin static 服务于错误的 url

python - 为什么我的静态文件没有加载到 django 中?

python - 无法自动转换列 "date"以键入带时区的时间戳 django/postgres

python - Django 重命名字典值

Python 将字符串转换为列表(无 .split())