diff --git a/datasette/app.py b/datasette/app.py index 4db64c35..4b09b7d1 100644 --- a/datasette/app.py +++ b/datasette/app.py @@ -591,13 +591,7 @@ class Datasette: }, **extra_template_vars, } - if request.args.get("_context") and self.config("template_debug"): - return Response.html( - "
{}".format(
- escape(json.dumps(template_context, default=repr, indent=4))
- )
- )
- return Response.html(await template.render_async(template_context))
+ return await template.render_async(template_context)
def _asset_urls(self, key, template, context):
# Flatten list-of-lists from plugins:
diff --git a/datasette/views/base.py b/datasette/views/base.py
index 4ac11247..32e6fdda 100644
--- a/datasette/views/base.py
+++ b/datasette/views/base.py
@@ -74,17 +74,22 @@ class BaseView(AsgiView):
async def render(self, templates, request, context):
template = self.ds.jinja_env.select_template(templates)
- return await self.ds.render_template(
- template,
- {
+ template_context = {
**context,
**{
"database_url": self.database_url,
"database_color": self.database_color,
},
- },
- request=request,
- )
+ }
+ if request and request.args.get("_context") and self.config("template_debug"):
+ return Response.html(
+ "{}".format(
+ escape(json.dumps(template_context, default=repr, indent=4))
+ )
+ )
+ return Response.html(await self.ds.render_template(
+ template, template_context, request=request
+ ))
class DataView(BaseView):