datasette/datasette
Simon Willison 3cd06729f4
Ability to over-ride templates for individual tables/databases
It is now possible to over-ride templates on a per-database / per-row or per-
table basis.

When you access e.g. /mydatabase/mytable Datasette will look for the following:

    - table-mydatabase-mytable.html
    - table.html

If you provided a --template-dir argument to datasette serve it will look in
that directory first.

The lookup rules are as follows:

    Index page (/):
        index.html

    Database page (/mydatabase):
        database-mydatabase.html
        database.html

    Table page (/mydatabase/mytable):
        table-mydatabase-mytable.html
        table.html

    Row page (/mydatabase/mytable/id):
        row-mydatabase-mytable.html
        row.html

If a table name has spaces or other unexpected characters in it, the template
filename will follow the same rules as our custom <body> CSS classes
introduced in 8ab3a169d4 - for example, a table called "Food Trucks"
will attempt to load the following templates:

    table-mydatabase-Food-Trucks-399138.html
    table.html

It is possible to extend the default templates using Jinja template
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:

    {% extends "default:row.html" %}

    {% block content %}
    <h1>EXTRA HTML AT THE TOP OF THE CONTENT BLOCK</h1>
    <p>This line renders the original block:</p>
    {{ super() }}
    {% endblock %}

Closes #12, refs #153
2017-11-30 08:38:16 -08:00
..
static Search now applies to current filters 2017-11-24 14:29:54 -08:00
templates CSS styling hooks as classes on the body 2017-11-29 23:09:54 -08:00
__init__.py Added __version__, bumped it to 0.12 2017-11-16 07:20:54 -08:00
app.py Ability to over-ride templates for individual tables/databases 2017-11-30 08:38:16 -08:00
cli.py git commit -m "datasette --template-dir=mytemplates/" argument 2017-11-30 08:05:01 -08:00
utils.py CSS styling hooks as classes on the body 2017-11-29 23:09:54 -08:00
version.py Release version 0.13 2017-11-24 19:33:39 -08:00