diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/uris.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/core/uris.py b/core/uris.py index 9ed2a32..2800fd4 100644 --- a/core/uris.py +++ b/core/uris.py @@ -1,6 +1,7 @@ from urllib.parse import urljoin from django.conf import settings +from django.templatetags.static import static class RelativeAbsoluteUrl: @@ -32,3 +33,18 @@ class AutoAbsoluteUrl(RelativeAbsoluteUrl): else: absolute_prefix = f"https://{settings.MAIN_DOMAIN}/" self.absolute = urljoin(absolute_prefix, self.relative) + + +class StaticAbsoluteUrl(RelativeAbsoluteUrl): + """ + Creates static URLs given only the static-relative path + """ + + def __init__(self, path: str): + static_url = static(path) + if "://" in static_url: + super().__init__(static_url) + else: + super().__init__( + urljoin(f"https://{settings.MAIN_DOMAIN}/", static_url), static_url + ) |