Django markdown is django application that allows use markdown wysiwyg in flatpages, admin forms and other forms. Documentaton available at pypi or github.
Contents
- python >= 3.6
- django >= 1.8
- markdown
Django markdown should be installed using pip:
pip install django-markdown
Note
'django_markdown' require 'django.contrib.staticfiles' in INSTALLED_APPS
Add 'django_markdown' to INSTALLED_APPS
'django_markdown',
Add django_markdown urls to base urls
re_path('^markdown/', include( 'django_markdown.urls')),
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 += [ re_path(r'^admin/', include(admin.site.urls)), ]
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
Example: settings.py
MARKDOWN_EDITOR_SKIN = 'simple'
MARKDOWN_EXTENSIONS - optional list of extensions passed to Markdown, discussed at https://pythonhosted.org/Markdown/extensions/index.html#officially-supported-extensions
Example: settings.py
MARKDOWN_EXTENSIONS = ['extra']
MARKDOWN_EXTENSION_CONFIGS - Configure extensions, discussed at https://pythonhosted.org/Markdown/reference.html#extension_configs
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 http://127.0.0.1:8000 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:
http://packages.python.org/django-markdown-2/changes.html
If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/been-there-done-that/django_markdown-2/issues
Development of django-markdown happens at github: https://github.com/been-there-done-that/django_markdown-2
- Deesh (Jagadeeswara_Reddy_p)
Licensed under a GNU lesser general public license.
Copyright (c) 2021 Deesh Reddy (internetwasmyidea@gmail.com)
- Markitup:
- (c) 2008 Jay Salvat http://markitup.jaysalvat.com/