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语句,然后传到前端显示

posted @   上海-悠悠  阅读(2666)  评论(4编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2018-04-19 appium+python自动化31-android_uiautomator定位
2018-04-19 appium+python自动化32-android_uiautomator定位进阶版
2018-04-19 appium+python自动化33-解锁九宫格(TouchAction)
2018-04-19 Appium+python自动化23-Android夜神模拟器
2018-04-19 appium+python自动化28-name定位
2018-04-19 appium+python自动化30-list定位(find_elements)
2018-04-19 appium+python自动化29-toast
点击右上角即可分享
微信分享提示