From 5e74e6162056b8bcb311bfbe0b673b3d3bf1c717 Mon Sep 17 00:00:00 2001 From: Dave Gaeddert Date: Thu, 15 Aug 2024 16:43:03 -0500 Subject: [PATCH] Fix asset circular import with templates --- plain/plain/templates/jinja/globals.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/plain/plain/templates/jinja/globals.py b/plain/plain/templates/jinja/globals.py index e550a1781a..d6b098e6f8 100644 --- a/plain/plain/templates/jinja/globals.py +++ b/plain/plain/templates/jinja/globals.py @@ -1,4 +1,3 @@ -from plain.assets.urls import get_asset_url from plain.paginator import Paginator from plain.utils import timezone @@ -10,8 +9,16 @@ def url(viewname, *args, **kwargs): return reverse(viewname, args=args, kwargs=kwargs) +def asset(url_path): + # An explicit callable we can control, but also delay the import of asset.urls->views->templates + # for circular import reasons + from plain.assets.urls import get_asset_url + + return get_asset_url(url_path) + + default_globals = { - "asset": get_asset_url, + "asset": asset, "url": url, "Paginator": Paginator, "now": timezone.now,