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.