当调试为真时如何将 Django StaticFileStorage 设置为 500
How to get Django StaticFileStorage to 500 when Debug is True
我正在尝试让我们的 Django 应用程序在资产不可用时抛出 500s,而不是默默地抛出 404s。我们希望这样做,以便我们的 end-to-end 测试在资产投入生产并开始失败之前捕获缺失的资产。
我将 WHITENOISE_MANIFEST_STRICT
设置为 True
,我相信 Whitenoise 正在工作 - 我正在使用 --nostatic
标志,并在Cache-Control
响应 Headers(尽管资产本身没有我们在生产中或当 Debug 设置为 false 时看到的哈希)。
但是,对于不存在的资产,我仍然收到 404。不幸的是,我们不能使用 DEBUG = False
,因为测试本身取决于 Debug 是否为真,所以任何建议都将不胜感激!
事实证明这种行为是不同的,因为启用 DEBUG 时,Django 不会执行标准的哈希文件解析。
您可以使用文件解析覆盖行为:
我正在尝试让我们的 Django 应用程序在资产不可用时抛出 500s,而不是默默地抛出 404s。我们希望这样做,以便我们的 end-to-end 测试在资产投入生产并开始失败之前捕获缺失的资产。
我将 WHITENOISE_MANIFEST_STRICT
设置为 True
,我相信 Whitenoise 正在工作 - 我正在使用 --nostatic
标志,并在Cache-Control
响应 Headers(尽管资产本身没有我们在生产中或当 Debug 设置为 false 时看到的哈希)。
但是,对于不存在的资产,我仍然收到 404。不幸的是,我们不能使用 DEBUG = False
,因为测试本身取决于 Debug 是否为真,所以任何建议都将不胜感激!
事实证明这种行为是不同的,因为启用 DEBUG 时,Django 不会执行标准的哈希文件解析。
您可以使用文件解析覆盖行为: