Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (
Help us improve Python packaging - Donate today!

Django markdown support and wysiwyg.

Project Description

Django markdown is django application that allows use markdown wysiwyg in flatpages, admin forms and other forms. Documentaton available at pypi or github.

It’s a fork of

The reason of forking is the original project is not maintained anymore and the owner(klen) is not interested in the merging of the pull requests.


  • python >= 2.7
  • django >= 1.8
  • markdown >= 2.6.7


Django markdown should be installed using pip:

pip install django-markdown-app


Starting with version 0.9.0, django-markdown-app requires Django 1.8 or later. If you need to support Django versions prior to 1.8 please use django-markdown-app 0.8.5.



‘django_markdown’ require ‘django.contrib.staticfiles’ in INSTALLED_APPS

  • Add ‘django_markdown’ to INSTALLED_APPS

    INSTALLED_APPS += ( 'django_markdown', )
  • Add django_markdown urls to base urls

    url('^markdown/', include( 'django_markdown.urls')),

Use django_markdown

  1. Models:

    from django_markdown.models import MarkdownField
    class MyModel(models.Model):
        content = MarkdownField()
  2. Custom forms:

    from django_markdown.fields import MarkdownFormField
    from django_markdown.widgets import MarkdownWidget
    class MyCustomForm(forms.Form):
        content = forms.CharField(widget=MarkdownWidget())
        content2 = MarkdownFormField()
  3. Custom admins:

    from django_markdown.admin import MarkdownModelAdmin, MarkdownModelAdmin)
  4. Admin Overrides: (If you don’t want to subclass package ModelAdmin’s)

    from django.contrib import admin
    class YourModelAdmin(admin.ModelAdmin):
        formfield_overrides = {MarkdownField: {'widget': AdminMarkdownWidget}}
  5. Flatpages:

    # in your project main urls
    from django_markdown import flatpages
    # Django admin
    urlpatterns += [ url(r'^admin/', include(, ]
  6. Template tags:

    <textarea name="test" id="new"></textarea>
    {% markdown_editor "#new" %}
    {% markdown_media %}


MARKDOWN_EDITOR_SETTINGS - holds the extra parameters set to be passed to textarea.markItUp()

MARKDOWN_EDITOR_SKIN - skin option, default value is markitup



MARKDOWN_EXTENSIONS - optional list of extensions passed to Markdown, discussed at



MARKDOWN_EXTENSION_CONFIGS - Configure extensions, discussed at

MARKDOWN_PREVIEW_TEMPLATE - Template for preview a markdown. By default django_markdown/preview.css

MARKDOWN_STYLE - path to preview styles. By default django_markdown/preview.css

MARKDOWN_SET_PATH - path to folder with sets. By default django_markdown/sets

MARKDOWN_SET_NAME - name for current set. By default markdown.

MARKDOWN_PROTECT_PREVIEW - protect preview url for staff only


Execute make run in sources directory. Open in your browser. For admin access use ‘root:root’ credentials.


Make sure you`ve read the following document if you are upgrading from previous versions:

Bug tracker

If you have any suggestions, bug reports or annoyances please report them to the issue tracker at


Development of django-markdown happens at github:


Release History

This version
History Node


History Node


History Node


Download Files

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

File Name & Hash SHA256 Hash Help Version File Type Upload Date
(71.9 kB) Copy SHA256 Hash SHA256
Source May 11, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting