From d2f2409a53aab3c796466da9bbb30a067771d103 Mon Sep 17 00:00:00 2001 From: Ryan Westfall Date: Tue, 7 Jul 2026 13:18:49 -0500 Subject: [PATCH] fix(static): don't 500 on missing manifest entries at runtime Templates reference public/img/logo.png (favicon, brand logo, social share images) which isn't present in the repo. With the strict manifest storage this raised ValueError at request time -> HTTP 500. Override stored_name (and set manifest_strict=False) to fall back to the plain name so a missing static degrades to a broken asset instead of a 500, matching the previous non-manifest behaviour. Co-authored-by: Cursor --- company_site/company_site/storage.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/company_site/company_site/storage.py b/company_site/company_site/storage.py index 3f4de45..cc9da61 100644 --- a/company_site/company_site/storage.py +++ b/company_site/company_site/storage.py @@ -13,8 +13,20 @@ from whitenoise.storage import CompressedManifestStaticFilesStorage class TolerantManifestStaticFilesStorage(CompressedManifestStaticFilesStorage): + # Don't 500 at runtime when a {% static %} reference isn't in the manifest; + # fall back to the plain name (mirrors non-manifest storage behaviour). + manifest_strict = False + def _stored_name(self, name, hashed_files): + """Tolerate missing references during collectstatic post-processing.""" try: return super()._stored_name(name, hashed_files) except ValueError: return name + + def stored_name(self, name): + """Tolerate missing manifest entries at request time.""" + try: + return super().stored_name(name) + except ValueError: + return name