python測試開發django-55.xadmin使用markdown文檔編輯器(django-mdeditor)


前言

markdown是一個非常好的編輯器,用過的都說好,如果搭建一個博客平台的話,需要在后台做文章編輯,可以整合一個markdown的文本編輯器。
github上關於django的markdown插件很多的,看了半天也不知道選哪個好,本篇用django-mdeditor先試試

django-mdeditor

pip安裝django-mdeditor

pip install django-mdeditor

在項目的settings.py的INSTALLED_APPS中添加’mdeditor’,

# Application definition

INSTALLED_APPS = [
    # ......
    'xadmin',            # 新添加
    'crispy_forms',      # 新添加
    'stdimage',          # 上傳圖片
    'mdeditor',       # markdown
]

然后設置圖片等資源的存放media地址,之前配置過就不用重復配置了

MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

urls.py設置訪問地址

from django.conf.urls import url
from django.urls import include


urlpatterns = [

    url(r'mdeditor/', include('mdeditor.urls')),
]

models模型

在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中注冊

import xadmin
from . import models


class BlogAdmin(object):
    list_display = ['title',]

xadmin.site.register(models.Blog, BlogAdmin)

配置好之后,執行 makemigrations 和migrate,同步數據

python manage.py makemigrations
python manage.py migrate

實現效果

xadmin后台可以左側輸入,右邊實時顯示對應的效果

也可以支持本地圖片上傳

插入代碼也可以支持

如果需要在前台顯示的話,可以在views.py獲取到數據庫的數據后,使用markdown.markdown()修飾為html語句,然后傳到前端顯示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM