Django如何将Markdown转换为?
摘要:分为两个部分: 后台使用Markdown编辑 前端使用Markdown展示 准备工作: pip install django-mdeditor # 用于后台编辑 pip install markdown # 用于前端显示 INSTALLED
分为两个部分:
------------后台使用Markdown编辑
------------前端使用Markdown展示
准备工作:
pip install django-mdeditor # 用于后台编辑
pip install markdown # 用于前端显示
INSTALLED_APPS = [
... 省略 ...
'mdeditor',
]
path("mdeditor/", include('mdeditor.urls'))
第一部分:实现后台使用Markdown编辑
修改models中的field的类型,之前是TextField,现在改成MDTextField即可
from django.db import models
from mdeditor.fields import MDTextField
# 文章表
class Article(models.Model):
# 文章标题title
title = models.CharField(max_length=64, verbose_name='标题')
# 文章内容content
content = MDTextField(default="", editable=True, blank=True)
article_picture = models.ImageField(upload_to='img/', verbose_name='封面图')
此时就实现了后台使用Markdown编辑了,如下:
第二部分:实现前端使用Markdown显示
例如,实现文章的详情显示:
原本的操作是,从数据库拿到这篇文章后,直接传递到前端页面进行展示。
其实现在也一样,只不过此时,是把文章内容的HTML标签传递到前端页面中,然后在渲染的时候加上{{ xxx|safe}}就可以了。
