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語句,而後傳到前端顯示