mirror of
https://github.com/simonw/datasette.git
synced 2025-12-10 16:51:24 +01:00
HTML comment showing which templates were considered for a page
Closes #171
This commit is contained in:
parent
3c9f889715
commit
7126d08f10
3 changed files with 20 additions and 2 deletions
|
|
@ -45,10 +45,16 @@ connections = threading.local()
|
||||||
|
|
||||||
class RenderMixin(HTTPMethodView):
|
class RenderMixin(HTTPMethodView):
|
||||||
def render(self, templates, **context):
|
def render(self, templates, **context):
|
||||||
|
template = self.jinja_env.select_template(templates)
|
||||||
|
select_templates = ['{}{}'.format(
|
||||||
|
'*' if template_name == template.name else '',
|
||||||
|
template_name
|
||||||
|
) for template_name in templates]
|
||||||
return response.html(
|
return response.html(
|
||||||
self.jinja_env.select_template(templates).render({
|
template.render({
|
||||||
**context, **{
|
**context, **{
|
||||||
'app_css_hash': self.ds.app_css_hash(),
|
'app_css_hash': self.ds.app_css_hash(),
|
||||||
|
'select_templates': select_templates,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,6 @@
|
||||||
{% endif %}{{ metadata.source or metadata.source_url }}{% if metadata.source_url %}</a>{% endif %}
|
{% endif %}{{ metadata.source or metadata.source_url }}{% if metadata.source_url %}</a>{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
{% if select_templates %}<!-- Templates considered: {{ select_templates|join(", ") }} -->{% endif %}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
|
|
@ -143,6 +143,18 @@ templates::
|
||||||
table-mydatabase-Food-Trucks-399138.html
|
table-mydatabase-Food-Trucks-399138.html
|
||||||
table.html
|
table.html
|
||||||
|
|
||||||
|
You can find out which templates were considered for a specific page by viewing
|
||||||
|
source on that page and looking for an HTML comment at the bottom. The comment
|
||||||
|
will look something like this::
|
||||||
|
|
||||||
|
<!-- Templates considered: *query-mydb-tz.html, query-mydb.html, query.html -->
|
||||||
|
|
||||||
|
This example is from the canned query page for a query called "tz" in the
|
||||||
|
database called "mydb". The asterisk shows which template was selected - so in
|
||||||
|
this case, Datasette found a template file called ``query-mydb-tz.html`` and
|
||||||
|
used that - but if that template had not been found, it would have tried for
|
||||||
|
``query-mydb.html`` or the default ``query.html``.
|
||||||
|
|
||||||
It is possible to extend the default templates using Jinja template
|
It is possible to extend the default templates using Jinja template
|
||||||
inheritance. If you want to customize EVERY row template with some additional
|
inheritance. If you want to customize EVERY row template with some additional
|
||||||
content you can do so by creating a ``row.html`` template like this::
|
content you can do so by creating a ``row.html`` template like this::
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue