CKEditor富文本编辑器
富文本即具备丰富样式格式的文本。可以是包含了HTML语法格式的字符串。为了快速简单的让用户能够在页面中编辑带html格式的文本,引入富文本编辑器。
富文本编辑器:ueditor、ckeditor、kindeditor
1. 安装
pip install django-ckeditor
2. 添加应用
在INSTALLED_APPS中添加
INSTALLED_APPS = [
...
'ckeditor', # 富文本编辑器
'ckeditor_uploader', # 富文本编辑器上传图片模块
...
]
3. 添加CKEditor设置
在settings/dev.py中添加
# 富文本编辑器ckeditor配置
CKEDITOR_CONFIGS = {
'default': {
'toolbar': 'full', # 工具条功能
'height': 300, # 编辑器高度
'width': 300, # 编辑器宽
},
}
CKEDITOR_UPLOAD_PATH = '' # 上传图片保存路径,留空则调用django的文件上传功能
4. 添加ckeditor路由
在总路由中添加
path(r'^ckeditor/', include('ckeditor_uploader.urls')),
5. 为模型类添加字段
ckeditor提供了两种类型的Django模型类字段
-
ckeditor.fields.RichTextField
不支持上传文件的富文本字段 -
ckeditor_uploader.fields.RichTextUploadingField
支持上传文件的富文本字段\
修改应用/models.py里面的字段信息,记得要重新数据迁移
from ckeditor_uploader.fields import RichTextUploadingField
class Students(models.Model):
"""
学生信息
"""
...
info = RichTextUploadingField(max_length=2048, verbose_name="学生信息", null=True, blank=True)
效果图