代码之家  ›  专栏  ›  技术社区  ›  Pablo Fernandez

白噪声真的需要收集静电吗?

  •  1
  • Pablo Fernandez  · 技术社区  · 6 年前

    whitenoise 为打包在Docker容器中的Django应用程序提供静态文件。在文件中说:

    真的需要吗?我不跑了 ./manage.py collectstatic 静态文件仍在服务中。

    如果不需要,这是优化吗?我尽量避免在部署过程中出现不必要的步骤。

    1 回复  |  直到 6 年前
        1
  •  4
  •   Daniel Roseman    6 年前

    正如这句话所说,Whitenoise服务于静态根目录下的文件。 collectstatic 从STATICFILES_DIRS和任何特定于应用程序的静态目录收集文件,并将它们放入静态根目录。

    但是有两种情况下,它将在不运行collectstatic的情况下提供文件。第一个是如果你的文件 在静态根中。不应该这样,但是将STATIC_ROOT的值设置为包含源文件的目录是一个常见的错误。但是,在本例中,它不会找到需要收集的管理文件。

    另一种情况是如果运行DEBUG=True。Whitenoise继承此值是因为 USE_FINDERS setting ,这使得它看起来与collectstatic本身处于相同的位置来提供文件。显然,您不希望在启用调试的情况下在生产环境中运行,但可以显式设置此设置。但正如docs link指出的那样,这样做将禁用Whitenoise的缓存和压缩功能。