0. ckeditor介绍:
用了它,腰不痛,腿不酸了,一口气上三层楼,开个玩笑。
这个富文本编辑主要用于后端,可以让图片展示出来,效果如下(注意:我现在所在的位置,是后端用admin/xadmin上传数据的时候的场景):
使用配置一下django上传的图片功能
1. 安装
pip install django-ckeditor
2. 添加应用
INSTALLED_APPS = [
...
'ckeditor', # 富文本编辑器
'ckeditor_uploader', # 富文本编辑器上传图片模块
...
]
3. 添加CKEditor设置
CKEDITOR_UPLOAD_PATH = '' # 上传图片保存路径,留空则调用django的文件上传功能(media的路径),所以才让提前配置一下django的图片上传功能
# 富文本编辑器ckeditor配置
CKEDITOR_CONFIGS = {
'default': {
'toolbar': 'full', # 工具条功能,full表示全部,Basic表示基本功能,功能少很多,还有个Custom自定义功能选项
'height': 300, # 编辑器高度
# 'width': 300, # 编辑器宽
},
}
CKEDITOR_UPLOAD_PATH = '' # 上传图片保存路径,留空则调用django的文件上传功能(media的路径)
#自定义(一般,自带的功能就够用了)
CKEDITOR_CONFIGS = {
'default': {
'toolbar': 'Custom',
'toolbar_Custom': [
['Bold', 'Italic', 'Underline','Image'], #通过浏览器f12来查看每个功能的标签,就看到了类值cke_button_工具名称[注意使用驼峰式来写]
['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'],
['Link', 'Unlink'],
['RemoveFormat', 'Source']
]
}
}
4. 添加ckeditor路由
re_path(r'^ckeditor/', include('ckeditor_uploader.urls')),
5.model的字段配置
from ckeditor_uploader.fields import RichTextUploadingField
class Course(models.Model):
"""
专题课程
"""
...
desc= RichTextUploadingField(max_length=2048, verbose_name="课程概述", null=True, blank=True)