CKEditor富文本编辑器
CKEditor富文本编辑器
在运营后台,运营人员需要录入商品并编辑商品的详情信息,而商品的详情信息不是普通的文本,可以是包含了HTML语法格式的字符串。为了快速简单的让用户能够在页面中编辑带格式的文本,我们引入富文本编辑器。富文本即具备丰富样式格式的文本。
我们使用功能强大的CKEditor富文本编辑器。
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 = '' # 上传图片保存路径,使用了FastDFS,所以此处设为''
4. 添加ckeditor路由
在总路由中添加
re_path(r'^ckeditor/', include('ckeditor_uploader.urls')),
5. 为模型类添加字段
ckeditor提供了两种类型的Django模型类字段
ckeditor.fields.RichTextField
不支持上传文件的富文本字段ckeditor_uploader.fields.RichTextUploadingField
支持上传文件的富文本字段
在商品模型类(SPU)中,要保存商品的详细介绍、包装信息、售后服务,这三个字段需要作为富文本字段
from ckeditor.fields import RichTextField from ckeditor_uploader.fields import RichTextUploadingField class Goods(BaseModel): """ 商品SPU """ ... desc_detail = RichTextUploadingField(default='', verbose_name='详细介绍') desc_pack = RichTextField(default='', verbose_name='包装信息') desc_service = RichTextUploadingField(default='', verbose_name='售后服务')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通