Django Markdownify - A Django Markdown filter¶
Django Markdownify is a template filter to convert Markdown to HTML in Django. Markdown is converted to HTML and sanitized.
Example:
{% load markdownify %}
{{'Some *test* [link](#)'|markdownify }}
Is transformed to:
<p>
Some <em>test</em> <a href="#">link</a>
</p>
The filter is a wrapper around Markdown and Bleach and as such supports their settings. It is possible to define multiple settings for multiple usecases.
For example:
# settings.py
MARKDOWNIFY = {
"default": {
"WHITELIST_TAGS": ["a", "p", "h1", ]
},
"alternative": {
"WHITELIST_TAGS": ["a", "p", ],
"MARKDOWN_EXTENSIONS": ["markdown.extensions.fenced_code", ]
}
}
And in your templates:
<!-- page1.html -->
{{ mytext|markdownify }} <!-- Uses your default settings -->
<!-- page2.html -->
{{ mytext|markdownify:"alternative" }} <!-- Uses your alternative settings -->
The code can be found on Github.