%global _empty_manifest_terminate_build 0 Name: python-django-mdeditor Version: 0.1.20 Release: 1 Summary: A simple Django app to edit markdown text. License: GPL-3.0 License URL: https://github.com/pylixm/django-mdeditor Source0: https://mirrors.nju.edu.cn/pypi/web/packages/6b/57/407196a6f3bfe2c07bc710afb312bc47395823de55393068b5acf113ee2b/django-mdeditor-0.1.20.tar.gz BuildArch: noarch %description # django-mdeditor [![ENV](https://img.shields.io/badge/release-v0.1.20-blue.svg)](https://github.com/pylixm/django-mdeditor) [![ENV](https://img.shields.io/badge/中文-v0.1.20-blue.svg)](./README_CN.md) [![ENV](https://img.shields.io/badge/Gitter-v0.1.20-blue.svg)](https://gitter.im/django-mdeditor/Lobby) [![ENV](https://img.shields.io/badge/python-2.x/3.x-green.svg)](https://github.com/pylixm/django-mdeditor) [![ENV](https://img.shields.io/badge/django-1.7+-green.svg)](https://github.com/pylixm/django-mdeditor) [![LICENSE](https://img.shields.io/badge/license-GPL3.0-green.svg)](https://github.com/pylixm/django-mdeditor/master/LICENSE.txt) ![](./django_and_editor.png) **Django-mdeditor** is Markdown Editor plugin application for [django](djangoproject.com) base on [Editor.md](https://github.com/pandao/editor.md). **Django-mdeditor** was inspired by great [django-ckeditor](https://github.com/django-ckeditor/django-ckeditor). **Note:** - For Markdown page rendering issues, backend rendering is recommended. Because `Editor.md` has not been updated for a long time, some bugs and compatibility issues need to be debugged. Of course, front-end students can choose. - Regarding the `Jquery` conflict, it cannot be deleted because it is required by the admin backend. It is recommended to separate the editing page on a single page or a full screen directly, using its own static file to distinguish it from other pages. ## Features - Almost Editor.md features - Support Standard Markdown / CommonMark and GFM (GitHub Flavored Markdown); - Full-featured: Real-time Preview, Image (cross-domain) upload, Preformatted text/Code blocks/Tables insert, Search replace, Themes, Multi-languages; - Markdown Extras : Support ToC (Table of Contents), Emoji; - Support TeX (LaTeX expressions, Based on KaTeX), Flowchart and Sequence Diagram of Markdown extended syntax; - Can constom Editor.md toolbar - The MDTextField field is provided for the model and can be displayed directly in the django admin. - The MDTextFormField is provided for the Form and ModelForm. - The MDEditorWidget is provided for the Admin custom widget. ## Quick start - Installation. ```bash pipenv install django-mdeditor # or pip install django-mdeditor ``` - Add `mdeditor` to your INSTALLED_APPS setting like this: ```python INSTALLED_APPS = [ ... 'mdeditor', ] ``` - add frame settings for django3.0+ like this: ```python X_FRAME_OPTIONS = 'SAMEORIGIN' ``` - Add 'media' url to your settings like this: ```python MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads') MEDIA_URL = '/media/' ``` Make folder `uploads/editor` in you project for media files. - Add url to your urls like this: ```python from django.conf.urls import url, include from django.conf.urls.static import static from django.conf import settings ... urlpatterns = [ ... url(r'mdeditor/', include('mdeditor.urls')) ] if settings.DEBUG: # static files (images, css, javascript, etc.) urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) ``` - Write your models like this: ```python from django.db import models from mdeditor.fields import MDTextField class ExampleModel(models.Model): name = models.CharField(max_length=10) content = MDTextField() ``` - Register your model in `admin.py` - Run `python manage.py makemigrations` and `python manage.py migrate` to create your models. - Login Admin ,you can see a markdown editor text field like this: ![](/screenshot/admin-example.png) ## Usage ### Edit fields in the model using Markdown Using Markdown to edit the fields in the model, we simply replace the `TextField` of the model with` MDTextField`. ```python from django.db import models from mdeditor.fields import MDTextField class ExampleModel (models.Model): name = models.CharField (max_length = 10) content = MDTextField () ``` Admin in the background, will automatically display markdown edit rich text. Used in front-end template, you can use like this: ```python {% load staticfiles %}
head>