A django app that allows the easy addition of Stack Overflow's "Pagedown" Markdown editor to a django form field, whether in a custom app or the Django Admin
- Install via pip:
pip install -e https://[email protected]/timmyomahony/django-pagedown.git#egg=django-pagedown
for the latest version, otherwise 'pip install django-pagedown' - Add
pagedown
to yourINSTALLED_APPS
Note that this package will install a cloned copy of the Pagedown library from http://github.com/timmyomahony/pagedown/
If you want to use the pagedown editor in a django admin field, there are numerous possible approaches:
To use it in all TextField
's in you admin form:
from pagedown.widgets import AdminPagedownWidget
from django.db import models
class FooModelAdmin(models.ModelAdmin):
formfield_overrides = {
models.TextField: {'widget': AdminPagedownWidget },
}
Alternatively, to only use it on particular fields, first create a form (in forms.py
):
from pagedown.widgets import AdminPagedownWidget
from django import forms
from models import FooModel
class FooModelForm(forms.ModelForm):
a_text_field = forms.CharField(widget=AdminPagedownWidget())
another_text_field = forms.CharField(widget=AdminPagedownWidget())
class Meta:
model = FooModel
and in your admin.py
:
from forms import FooModelForm
class FooModelAdmin(models.ModelAdmin):
form = FooModelForm
- There are two widgets,
AdminPageDownWidget
andPageDownWidget
. The only difference is thatAdminPageDownWidget
includes extra CSS to make the preview area and input pretty in the django admin. If you are using the editor for your own app, you will need to supply CSS to do this.