Skip to main content

A generic Django application to convert text with specific markup to html.

Project description


This app is a generic way to provide filters that convert text into html.

The documentation is available at


Download and install the package from the python package index (pypi):

pip install django-markup

Note that django-markup ships with some filters ready to use, but the more complex packages such as Markdown or ReStructuredText are not part of the code. Please refer the docs which packages are used for the built-in filter.

An alternative is to install django-markup with all filter dependencies right away. Do so with:

pip install django-markup[all-filter-dependencies]

Then add it to the INSTALLED_APPS list:


Use it in the template:

{% load markup_tags %}
{{ the_text|apply_markup:"markdown" }}

Or in Python code:

from django_markup.markup import formatter
formatter('Some *Markdown* text.', filter_name='markdown')


To run the testsuite simply run python test which will invoke a Tox collection testing against various Python and Django versions.

For a specific local installation run python


v1.3 (2018-09-07):

  • Python 3.6 and 3.7 compatibility and tests.
  • Django 2.0 and 2.1 compatibility and tests.
  • The package setup script now provides the ability to install all filter dependencies automatically. See the installation Readme for details.

v1.2 (2017-03-18):

  • Django 1.10 compatibility and tests.
  • Updated all filter dependencies. most notably SmartyPants to v2.0 which changed it’s API, so your project dependencies need to update it as well.

v1.1 (2016-05-02):

  • The Markdown filter has the safe_mode option enabled by default.
  • The RestructuredText filter has the file and raw content inclusion disabled by default.

v1.0 (2016-01-02):

  • Removed some 5 year old dust
  • Django 1.8+ compatible
  • Tests

Backwards incompatible changes:

  • Removed Pygments highlighting in the Markdown and RestructuredText filter.
  • Removed CreoleParser library in favor of a pypi package.
  • Removed Lightbox filter.
  • The RestructuredText filter now renders level 1 and 2 headers. See Github Issue 14 for details and a backwards compatible workaround.

v0.4 (2011-06-01):

  • Added a widont filter
  • MarkupField is South compatible.
  • Tested with Django 1.3

v0.3 (2009-07-29):

django-markup now ships with a builtin creole parser. Advantage is, that the recently used Creoleparser library needs the Genshi lib, which needs a c-compiler and so on. The builtin creole parser is a pure python library without any dependencies and follows the specifications. django-markup uses the WikiCreole library.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django_markup-1.3-py2.py3-none-any.whl (15.1 kB) Copy SHA256 hash SHA256 Wheel py2.py3
django-markup-1.3.tar.gz (23.1 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page