专栏名称: Python之禅
分享Python相关技术干货,偶尔扯扯其它的
目录
相关文章推荐
Python爱好者社区  ·  “给我滚出贵大!”郑强出任贵州大学校长,打算 ... ·  2 天前  
Python爱好者社区  ·  节后第一个私活,赚了3w ·  昨天  
Python爱好者社区  ·  DeepSeek 最新中国大学排名 ·  16 小时前  
Python开发者  ·  “李飞飞团队50 美元炼出 ... ·  3 天前  
Python爱好者社区  ·  史上最强!PINN杀疯了 ·  3 天前  
51好读  ›  专栏  ›  Python之禅

Django零代码集成 Markdown 编辑器

Python之禅  · 公众号  · Python  · 2021-04-02 18:56

正文

自己一个项目中要加个功能,涉及到富文本编辑器,首选markdown编辑器,因为简单。将操作笔记记录下来方便下次翻阅,顺便帮助有需要的同学。

基于django的markdown编辑器已经有人封装好了,不需要自己去造轮子。django-mdeditor 是基于Editor.md 这个前端开源库封装而成的。

总共涉及到两个库 django-mdeditor 用于 django admin 管理后台文章编辑, markdown 用在前台 markdown文本渲染成html 展示。

pip install django-mdeditor  # 用于后台编辑
pip install markdown # 用于前端显示


不需要写什么代码,基本就是做些配置

首先 settings.py 中添加配置,将mdeditor 这个app加进来

INSTALLED_APPS = [
    ... 省略 ...
    'mdeditor',
]


urls.py 中添加path(注意路径不要配错了,前面没有/)


 path("mdeditor/", include('mdeditor.urls'))


修改models中的field的类型,之前是TextField,改成MDTextField


from mdeditor.fields import MDTextField

class Article(BaseModel):
    title = models.CharField("标题", max_length=200, editable=True, blank=True)
    body = MDTextField("正文", default="", editable=True, blank=True)


将 Article 在admin中注册后,可以看到如下效果,左边是编辑器,右边是预览,很方便

部署到线上环境时,要记得执行命令


 python manage.py collectstatic


把静态文件收集到 STATIC_ROOT 中, 否则 django-mdeditor 依赖的静态资源找不到就没法加载markdown编辑器出来了。

前端展示处理

先在服务端将markdown渲染成html返回给前端处理


import markdown
 
def






请到「今天看啥」查看全文