Django-Markdown v. 0.9.7¶
Django markdown is django application that allows use markdown wysiwyg in flatpages, admin forms and other forms. Documentaton available at readthedocs or github.
Requirements¶
- django >= 2.0, <3.0
- markdown >= 2.6.11
Version compatibility¶
Django version | django-markdown-app |
---|---|
2.0 - 2.2 | 0.9.7 |
2.0 - 2.1 | 0.9.6 |
1.8 or later | 0.9.3.1 |
prior to 1.8 | 0.8.5.1 |
Setup¶
Note
‘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
path('markdown/', include( 'django_markdown.urls')),
Use django_markdown¶
Models:
from django_markdown.models import MarkdownField class MyModel(models.Model): content = MarkdownField()
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()
Custom admins:
from django_markdown.admin import MarkdownModelAdmin admin.site.register(MyModel, MarkdownModelAdmin)
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}}
Flatpages:
# in your project main urls from django_markdown import flatpages ... # Django admin admin.autodiscover() flatpages.register() urlpatterns += [ path(r'admin/', admin.site.urls), ]
Template tags:
<textarea name="test" id="new"></textarea> {% markdown_editor "#new" %} {% markdown_media %}
Settings¶
MARKDOWN_EDITOR_SETTINGS - holds the extra parameters set to be passed to textarea.markItUp()
MARKDOWN_EDITOR_SKIN - skin option, default value is markitup
Example: settings.py
MARKDOWN_EDITOR_SKIN = 'simple'
MARKDOWN_EXTENSIONS - optional list of extensions passed to Markdown.
Officially supported extensions could be found at https://python-markdown.github.io/extensions/#officially-supported-extensions
Example: settings.py
MARKDOWN_EXTENSIONS = ['extra']
MARKDOWN_EXTENSION_CONFIGS - configure extensions
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
Examples¶
Execute make run in sources directory. Open http://127.0.0.1:8000 in your browser. For admin access use ‘root:root’ credentials.
Bug tracker¶
If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/sv0/django-markdown-app/issues
Contributing¶
Development of django-markdown happens at github: https://github.com/sv0/django-markdown-app
All changes should include tests, pass flake8 and pass build on the TravisCI
Contributors¶
- klen (Kirill Klenov)
- yavorskiy (Sergii Iavorskyi)
- contributors (Other contributors)
License¶
Licensed under a GNU lesser general public license.
Copyright¶
Copyright (c) 2011 Kirill Klenov (horneds@gmail.com)
- Markitup:
- (c) 2008 Jay Salvat http://markitup.jaysalvat.com/