在Django的admin中使用富文本编辑器 CKEditor
CKEditor的安装
pip install django-ckeditor
pip install pillow
pillow是python的一个图像处理库
在setting.py中的下面几个配置
INSTALLED_APPS中加入两个
INSTALLED_APPS = [
'ckeditor',#富文本编辑器
'ckeditor_uploader'#富文本编辑器上传图片模块
]
CKEDITOR_CONFIGS = {
'default': {
'toolbar': 'full', # 工具条功能
'height': 300, # 编辑器高度
'width': 800, # 编辑器宽
},
}
CKEDITOR_UPLOAD_PATH = '' # 上传图片保存路径,如果没有图片存储或者使用自定义存储位置,那么则直接写 ' ' ,如果是使用django本身的存储方式,那么你就指名一个目录用来存储即可。
CHEDITOR_UPLOAD_PATH的作用是设定你通过ckeditor所上传的文件的存放目录。需要注意的是,如果使用django自带的存储,那么路径是一个相对路径,它相对与你设置的的MEDIA_ROOT。
关于CKEditor的路由
在主路由 urls.py中 增加如下:
url(r'^ckeditor/', include('ckeditor_uploader.urls')),
使用
在需要使用富文本编辑器的models.py中添加如下:
- ckeditor.fields.RichTextField 不支持上传文件的富文本字段
- ckeditor_uploader.fields.RichTextUploadingField 支持上传文件的富文本字段;
例如:
from django.db import models
from ckeditor.fields import RichTextField
from ckeditor_uploader.fields import RichTextUploadingField
class SPUModel(models.Model):
'''这是spu表格'''
name = models.CharField(max_length=32,verbose_name='商品名')
sales = models.CharField(max_length=20,verbose_name='销售量')
desc_pack = RichTextUploadingField(default='',verbose_name='商品详情')
class Meta:
db_table = 'sh_goods'
verbose_name = '商品表'
verbose_name_plural = verbose_name
效果:
最后点击确定: