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 <cursoragent@cursor.com>
This commit is contained in:
@@ -13,8 +13,20 @@ from whitenoise.storage import CompressedManifestStaticFilesStorage
|
|||||||
|
|
||||||
|
|
||||||
class TolerantManifestStaticFilesStorage(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):
|
def _stored_name(self, name, hashed_files):
|
||||||
|
"""Tolerate missing references during collectstatic post-processing."""
|
||||||
try:
|
try:
|
||||||
return super()._stored_name(name, hashed_files)
|
return super()._stored_name(name, hashed_files)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
return name
|
return name
|
||||||
|
|
||||||
|
def stored_name(self, name):
|
||||||
|
"""Tolerate missing manifest entries at request time."""
|
||||||
|
try:
|
||||||
|
return super().stored_name(name)
|
||||||
|
except ValueError:
|
||||||
|
return name
|
||||||
|
|||||||
Reference in New Issue
Block a user