Custom templates for canned queries

Closes #170
This commit is contained in:
Simon Willison 2017-12-09 13:34:46 -08:00
commit 3c9f889715
No known key found for this signature in database
GPG key ID: 17E2DEA2588B7F52
2 changed files with 13 additions and 1 deletions

View file

@ -289,6 +289,13 @@ class BaseView(RenderMixin):
name, sql, params, truncate=True, **extra_args
)
columns = [r[0] for r in description]
templates = ['query-{}.html'.format(to_css_class(name)), 'query.html']
if canned_query:
templates.insert(0, 'query-{}-{}.html'.format(
to_css_class(name), to_css_class(canned_query)
))
return {
'database': name,
'rows': rows,
@ -304,7 +311,7 @@ class BaseView(RenderMixin):
'named_parameter_values': named_parameter_values,
'editable': editable,
'canned_query': canned_query,
}, ('query-{}.html'.format(to_css_class(name)), 'query.html')
}, templates
class IndexView(RenderMixin):

View file

@ -112,6 +112,11 @@ The lookup rules Datasette uses are as follows::
query-mydatabase.html
query.html
Canned query page (/mydatabase/canned-query):
query-mydatabase-canned-query.html
query-mydatabase.html
query.html
Table page (/mydatabase/mytable):
table-mydatabase-mytable.html
table.html