django使用django-ckeditor实现富文本编辑器

安装

pip install django-ckeditor

注册应用

INSTALLED_APPS = [
    ...
    'ckeditor',  # 富文本编辑器
    'ckeditor_uploader',  # 富文本编辑器上传图片模块
    ...
]

配置settings/dev.py

# 富文本编辑器ckeditor配置
CKEDITOR_CONFIGS = {
    'default': {
        # 'toolbar': 'full',  # 工具条功能
        'toolbar': 'Custom',  # 自定义工具条功能,功能名称可以在full模式下去前端查看响应代码,例如图片 cke_button__image_icon会有这么一个类 图片功能名称就是Image(首字母大写)
        'toolbar_Custom': [
            ['Bold', 'Italic', 'Underline', ],
            ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'JustifyLeft', 'JustifyCenter',
             'JustifyRight', 'JustifyBlock', 'Image'],
            ['Link', 'Unlink'],
            ['RemoveFormat', 'Source']
        ],
        'height': 300,  # 编辑器高度
        # 'width': 300,     # 编辑器宽
    },
}
CKEDITOR_UPLOAD_PATH = ''  # 上传图片保存路径,留空则调用django的文件上传功能

在总路由中添加

path(r'^ckeditor/', include('ckeditor_uploader.urls')),

更改模型中的字段类型

"""
ckeditor提供了两种类型的Django模型类字段
ckeditor.fields.RichTextField` 不支持上传文件的富文本字段
ckeditor_uploader.fields.RichTextUploadingField` 支持上传文件的富文本字段
"""
 brief = RichTextUploadingField(max_length=2048, verbose_name="课程概述", null=True, blank=True)

 

上一篇:两个 Django 插件( django_extensions,django_toolbar)


下一篇:SuperMap iClient3D for WebGL 示范案例(一)倾斜模型加载