Django-mdeditor — это приложение в виде плагина для редактора Markdown для Django, основанное на Editor.md.
Django-mdeditor был вдохновлён замечательным django-ckeditor.
Примечание:
pipenv install django-mdeditor
# или
pip install django-mdeditor
mdeditor
в настройки INSTALLED_APPS следующим образом:INSTALLED_APPS = [
...
'mdeditor',
]
X_FRAME_OPTIONS = 'SAMEORIGIN'
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
MEDIA_URL = '/media/'
Создайте папку uploads/editor
в своём проекте для медиафайлов.
5. Добавьте URL в свои URL-адреса следующим образом:
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:
# статические файлы (изображения, css, javascript и т. д.)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
from django.db import models
from mdeditor.fields import MDTextField
class ExampleModel(models.Model):
name = models.CharField(max_length=10)
content = MDTextField()
admin.py
python manage.py makemigrations
и python manage.py migrate
, чтобы создать свои модели./screenshot/admin-example.png
Используя Markdown для редактирования полей в модели, мы просто заменяем TextField
модели на MDTextField
.
from django.db import models
from mdeditor.fields import MDTextField
class ExampleModel (models.Model):
name = models.CharField (max_length = 10)
content = MDTextField ()
Администратор на заднем плане автоматически отобразит редактирование форматированного текста Markdown.
Используется во внешнем шаблоне, можно использовать следующим образом:
{% load staticfiles %}
<! DOCTYPE ### Редактирование полей в форме с помощью markdown
Используйте markdown для редактирования полей в форме, используйте `MDTextFormField` вместо `forms.CharField`, следующим образом:
```python
from mdeditor.fields import MDTextFormField
class MDEditorForm (forms.Form):
name = forms.CharField ()
content = MDTextFormField ()
ModelForm
может автоматически преобразовывать соответствующее поле модели в поле формы, которое можно использовать обычным образом:
class MDEditorModleForm (forms.ModelForm):
class Meta:
model = ExampleModel
fields = '__all__'
Используйте виджет markdown в админке следующим образом:
from django.contrib import admin
from django.db import models
# Register your models here.
from. import models as demo_models
from mdeditor.widgets import MDEditorWidget
class ExampleModelAdmin (admin.ModelAdmin):
formfield_overrides = {
models.TextField: {'widget': MDEditorWidget}
}
admin.site.register (demo_models.ExampleModel, ExampleModelAdmin)
Добавьте следующую конфигурацию в settings
:
MDEDITOR_CONFIGS = {
'default':{
'width': '90% ', # Ширина поля редактирования
'height': 500, # Высота поля редактирования
'toolbar': ["undo", "redo", "|",
"bold", "del", "italic", "quote", "ucwords", "uppercase", "lowercase", "|",
"h1", "h2", "h3", "h5", "h6", "|",
"list-ul", "list-ol", "hr", "|",
"link", "reference-link", "image", "code", "preformatted-text", "code-block", "table", "datetime",
"emoji", "html-entities", "pagebreak", "goto-line", "|",
"help", "info",
"|", "preview", "watch", "fullscreen"], # Панель инструментов поля редактирования
'upload_image_formats': ["jpg", "jpeg", "gif", "png", "bmp", "webp"], # Форматы изображений для загрузки
'image_folder': 'editor', # Папка для сохранения изображений
'theme': 'default', # Тема поля редактирования, dark / default
'preview_theme': 'default', # Тема области предварительного просмотра, dark / default
'editor_theme': 'default', # Тема редактируемой области, pastel-on-dark / default
'toolbar_autofixed': True, # Фиксируется ли панель инструментов по умолчанию
'search_replace': True, # Открывается ли поиск и замена
'emoji': True, # Открываются ли эмодзи
'tex': True, # Открывается ли функция диаграммы tex
'flow_chart': True, # Открывается ли диаграмма потока
'sequence': True, # Открывается ли последовательная диаграмма
'watch': True, # Предварительный просмотр в реальном времени
'lineWrapping': False, # Перенос строк
'lineNumbers': False, # Номера строк
'language': 'zh' # zh / en / es
}
}
Добро пожаловать в использование и обратную связь!
Вы можете создать проблему или присоединиться к группе QQ.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )