Skip to content
A collection of template filters that implement common markup languages.
Branch: master
Clone or download
Latest commit e159fcb Aug 30, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
django_markwhat fix flake8 issues Aug 30, 2019
requirements Merge branch 'master' into pyup-update-flake8-3.5.0-to-3.7.8 Aug 30, 2019
.gitignore Add ve/ directory to gitignore Sep 9, 2015
.travis.yml Test on django 2.2, drop django 1.8 Jul 9, 2019
AUTHORS.rst Move Nik Nyby to PRIMARY AUTHORS section Dec 3, 2017
ChangeLog.rst 🔖 release version 1.6.2 Aug 30, 2019
LICENSE Update copyright to 2017 Dec 3, 2017 Remove manifest file itself from itself :D Sep 20, 2014
README.rst fix syntax error in readme Aug 30, 2019
requirements.txt Test on django 2.2, drop django 1.8 Jul 9, 2019
setup.cfg Add wheel support Sep 20, 2014 Update pypi url Jul 9, 2019


Django MarkWhat

A collection of template filters that implement common markup languages.

provides template filters that implement the following markup languages:

In each case, the filter expects formatted markup as a string and returns a string representing the marked-up text. For example, the textile filter converts text that is marked-up in Textile format to HTML.

Supported Python versions

django-crequest currently can be run on multiple python versions:

  • Python 2 (2.7)
  • Python 3 (3.5, 3.6)
  • PyPy


django-markwhat is available on pypi:

So easily install it by pip:

pip install django-markwhat

Or by easy_install

$ easy_install django-markwhat

Another way is by cloning django-markwhat's git repo ::

git clone git://

Then install it by running:

$ python install


To activate these filters, add 'django_markwhat' to your INSTALLED_APPS setting. Once you've done that, use {% load markup %} in a template, and you'll have access to these filters.


The output of markup filters is marked "safe" and will not be escaped when rendered in a template. Always be careful to sanitize your inputs and make sure you are not leaving yourself vulnerable to cross-site scripting or other types of attacks.


When using the reStructuredText markup filter you can define a RESTRUCTUREDTEXT_FILTER_SETTINGS in your django settings to override the default writer settings. See the reStructuredText writer settings for details on what these settings are.


reStructuredText has features that allow raw HTML to be included, and that allow arbitrary files to be included. These can lead to XSS vulnerabilities and leaking of private information. It is your responsibility to check the features of this library and configure appropriately to avoid this. See the Deploying Docutils Securely documentation.


The Python Markdown library supports options named "safe_mode" and "enable_attributes". Both relate to the security of the output. To enable both options in tandem, the markdown filter supports the "safe" argument.

{{ markdown_content_var|markdown:"safe" }}


Versions of the Python-Markdown library prior to 2.1 do not support the optional disabling of attributes and by default


django-markwhat is tested on both python2 and python3, to run the tests:

$ python
You can’t perform that action at this time.