- pip install django-mdeditor
- 在INSTALLED_APPS设置中注册
INSTALLED_APPS = [
...
' mdeditor ',
]
- settings配置
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
MEDIA_URL = '/media/'
- 根urls.py
urlpatterns = [
...
url(r'mdeditor/', include('mdeditor.urls'))
]
if settings.DEBUG:
# 静态文件 (images, css, javascript, etc.)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
在模型里注册使用MDTextField创建字段就行了
from mdeditor.fields import MDTextField
class ExampleModel(models.Model):
name = models.CharField(max_length=10)
content = MDTextField()
在admin注册模型后就可以在后台看到界面了
渲染到前端
在视图中将内容转换成HTML类型的,然后就可以渲染了
# 在模型里查询对象
blog = Blog.objects.get(bid=bid) # 根据文字id查询一条数据
# 将使用markdown编辑的字段转换成HTML格式
blog.btext = markdown.markdown(blog.btext, extensions=[ # 扩展参考官方:https://python-markdown.github.io/extensions/
'markdown.extensions.extra',
'markdown.extensions.codehilite',
'markdown.extensions.toc',
# 'markdown.extensions.abbr',
# 'markdown.extensions.smarty',
])
# 返回前端渲染
return render(request, 'blog.html', locals())
前端
<div>{{ blog.btext | safe }}</div>