Templates¶
coltrane
comes with two minimal templates that get used by default: coltrane/base.html
and coltrane/content.html
. Overriding those templates works just like in Django.
Override included templates¶
coltrane/base.html
¶
Create a file named templates/coltrane/base.html
in your app to override the base template. By default, it needs to include a content
block.
{% block content %}{% endblock content %}
coltrane/content.html
¶
Create a file named templates/coltrane/content.html
in your app to override the content template. By default, it needs to include a content
block for the base template and {{ content }}
to render the markdown.
Note
The content
template variable is already marked “safe” so you do not need to use the safe
filter.
{% block content %}{{ content }}{% endblock content %}
Custom template¶
Specify a custom template with a template
variable in the markdown
frontmatter.
content/index.md
---
title: This is good content
template: sample_app/new-template.html
---
# Heading 1
This will use sample_app/new-template.html to render content.
sample_app/new-template.html
<title>{{ title }}</title>
{{ content }}
Generated HTML
<title>This is good content</title>
<h1 id="heading-1">Heading 1</h1>
<p>This will use sample_app/new-template.html to render content.</p>
Error views¶
Similar to Django’s default error views coltrane
will serve a template if it can find it for certain status codes.
Create any of these HTML files under the templates
directory and they will be used automatically when DEBUG=False
.
404.html (page not found)
500.html (server error)
403.html (permission denied)
400.html (bad request)