markdown是一个很是好的编辑器,用过的都说好,若是搭建一个博客平台的话,须要在后台作文章编辑,能够整合一个markdown的文本编辑器。
github上关于django的markdown插件不少的,看了半天也不知道选哪一个好,本篇用django-mdeditor先试试html
pip安装django-mdeditor前端
pip install django-mdeditorpython
在项目的settings.py的INSTALLED_APPS中添加’mdeditor’,nginx
# Application definition INSTALLED_APPS = [ # ...... 'xadmin', # 新添加 'crispy_forms', # 新添加 'stdimage', # 上传图片 'mdeditor', # markdown ]
而后设置图片等资源的存放media地址,以前配置过就不用重复配置了git
MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
urls.py设置访问地址github
from django.conf.urls import url from django.urls import include urlpatterns = [ url(r'mdeditor/', include('mdeditor.urls')), ]
在models.py中添加数据库
from django.db import models from mdeditor.fields import MDTextField # 必须导入 class Blog(models.Model): '''博客管理''' title = models.CharField(max_length=30) content = MDTextField() # 注意为MDTextField() def __str__(self): return self.__doc__ + "title->" + self.title class Meta: verbose_name = "博客发布" verbose_name_plural = verbose_name
xadmin.py中注册django
import xadmin from . import models class BlogAdmin(object): list_display = ['title',] xadmin.site.register(models.Blog, BlogAdmin)
配置好以后,执行 makemigrations 和migrate,同步数据markdown
python manage.py makemigrations
python manage.py migrate编辑器
xadmin后台能够左侧输入,右边实时显示对应的效果
也能够支持本地图片上传
插入代码也能够支持
若是须要在前台显示的话,能够在views.py获取到数据库的数据后,使用markdown.markdown()修饰为html语句,而后传到前端显示