jinja2_environment_from_request() plugin hook

Closes #2225
This commit is contained in:
Simon Willison 2024-01-05 14:33:23 -08:00 committed by GitHub
commit c7a4706bcc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 128 additions and 25 deletions

View file

@ -143,7 +143,8 @@ class BaseView:
async def render(self, templates, request, context=None):
context = context or {}
template = self.ds.jinja_env.select_template(templates)
environment = self.ds.get_jinja_environment(request)
template = environment.select_template(templates)
template_context = {
**context,
**{

View file

@ -143,7 +143,8 @@ class DatabaseView(View):
datasette.urls.path(path_with_format(request=request, format="json")),
)
templates = (f"database-{to_css_class(database)}.html", "database.html")
template = datasette.jinja_env.select_template(templates)
environment = datasette.get_jinja_environment(request)
template = environment.select_template(templates)
context = {
**json_data,
"database_color": db.color,
@ -594,7 +595,8 @@ class QueryView(View):
f"query-{to_css_class(database)}-{to_css_class(canned_query['name'])}.html",
)
template = datasette.jinja_env.select_template(templates)
environment = datasette.get_jinja_environment(request)
template = environment.select_template(templates)
alternate_url_json = datasette.absolute_url(
request,
datasette.urls.path(path_with_format(request=request, format="json")),

View file

@ -806,7 +806,8 @@ async def table_view_traced(datasette, request):
f"table-{to_css_class(resolved.db.name)}-{to_css_class(resolved.table)}.html",
"table.html",
]
template = datasette.jinja_env.select_template(templates)
environment = datasette.get_jinja_environment(request)
template = environment.select_template(templates)
alternate_url_json = datasette.absolute_url(
request,
datasette.urls.path(path_with_format(request=request, format="json")),