我们是否需要将 White Noise 创建的文件(在文件夹中)添加到 gitignore 列表中?

Do we need to add files (in the folder) that White Noise creates to the gitignore list?

我有一个 django 项目并使用 whitenoise 提供静态文件服务。 当我们 运行 py manage.py collectstatic 白噪声时,会在 settings.py 文件的 STATIC_ROOT 对象中的选定文件夹中创建大量文件。 它占用了很多体积。 我是否必须将我在 settings.py(STATIC_ROOT) 中指定的文件夹名称添加到 gitignore 列表?

这是真实安全的吗?这不会造成问题吗?

./manage.py collectstatic 不是来自 Whitenoise 包,而是来自 Django 本身。

至于将此目录保留在 git 存储库中,通常答案是:您不应该保留它。但是对于某些项目来说,这样做可能会有用。我会留给您评估哪个选项更适合您。如果您不确定,请将其远离您的 git 存储库。

为了给你完整的上下文,让我快速解释一下 collectstatic 的作用。

Django 有一个内置的静态文件系统。由于 Django 项目可以包含多个应用程序(您在 INSTALLED_APPS 中列出的所有内容)并且每个应用程序可能需要一些静态文件才能正常工作,因此 Django 允许每个应用程序将其静态文件保存在其目录中。当您要托管应用程序时,这种方法本身并不完美,因为应用程序中保存静态文件的所有位置都必须在您的 Web 服务器配置中明确列出。

这就是 collectstatic 命令存在的原因。执行后,Django 会将所有应用程序中的所有静态文件复制到一个位置,您可以从中立即提供它们。您还可以使用 STATICFILES_DIRS 扩展此文件列表,以包含已安装应用程序之外的一些位置(例如从您的项目根目录)。

在某处部署或更新已部署的项目时,这种方法当然需要 运行 collectstatic 命令。有时您无法将此类命令添加到您的部署过程中,因此您必须已经收集了静态文件。其中一种方法是将它们保存在您的 git 存储库中,但应避免这种情况,而应首选其他解决方案(例如将所有静态文件保存在单独的位置,例如 S3 存储桶)。