Как заставить Django Whitenoise показывать 500, когда Debug равен True
Я пытаюсь заставить наше приложение Django выбрасывать 500s, когда актив недоступен - вместо того, чтобы молча выбрасывать 404s. Это нужно для того, чтобы наши сквозные тесты отлавливали отсутствие актива до того, как он попадет в prod и начнет давать сбои.
У меня WHITENOISE_MANIFEST_STRICT установлено значение True, и я считаю, что Whitenoise работает - я использую флаг --nostatic и вижу WHITENOISE_MAX_AGE в заголовках ответов Cache-Control (хотя сами активы не имеют хэша, который мы видим в производстве или когда Debug установлен на false).
Однако я все еще получаю 404 для несуществующего актива. К сожалению, мы не можем использовать DEBUG = False, потому что сами тесты зависят от того, что Debug равен true, поэтому любой совет был бы очень признателен!
Оказывается, это поведение отличается, потому что когда включен DEBUG, Django не выполняет стандартное разрешение хэш-файлов.
Вы можете переопределить поведение с помощью разрешения файлов: Заставьте Django ManifestStaticFilesStorage всегда возвращать урлы с хэшами