[Djangorestframework]-富文本编辑器的使用
[Djangorestframework]-富文本编辑器的使用
参考资料
https://blog.csdn.net/KeShaoDeng/article/details/88206113
https://www.cnblogs.com/louzi/archive/2004/01/13/9609199.html
一、安装django-ckeditor
pip install django-ckeditor
二、APP注册(//settings.py)
1.引入库
INSTALLED_APPS = [
………………………………………………
# 1、注册富文本编辑器ckeditor
'ckeditor',
# 1、注册富文本上传图片ckeditor_uploader
'ckeditor_uploader',
]
三、配置富文本上传路径(//settings.py)
# 配置静态文件
STATIC_URL = '/static/'
STATIC_DIR = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = [STATIC_DIR,]
# 配置图片、文件访问方式/setting后,然后去urls.py去配置
# 配置媒体文件
MEDIA_URL = '/media/' # (前后都有斜杠)
MEDIA_DIR = os.path.join(BASE_DIR, 'media')
MEDIA_ROOT = MEDIA_DIR
# 2、配置富文本上传路径
CKEDITOR_UPLOAD_PATH = 'static/upload/'
CKEDITOR_IMAGE_BACKEND = "pillow"
附赠:配置静态文件static和媒体文件media的方法
四、配置富文本路由(//urls.py)
urlpatterns = [
…………………………………………
# 富文本设置
path('ckeditor/', include('ckeditor_uploader.urls')), # 3、配置富文本编辑器url
]
五、model中使用富文本 - //models.py
from django.db import models
from ckeditor.fields import RichTextField # 富文本编辑器,不支持上传文件的富文本字段
from ckeditor_uploader.fields import RichTextUploadingField # 富文本可上传图片,支持上传文件的富文本字段
class Requires(models.Model):
"""
请求
"""
..............................
requires_desc = RichTextUploadingField(verbose_name='详情描述', help_text='详情描述')
...............................
add_time = models.DateTimeField(auto_now_add=True, verbose_name='添加时间')
class Meta:
verbose_name_plural = verbose_name = '请求'
def __str__(self):
return self.title
六、后端提供富文本中等上传文件接口 - //models.py
//models设计
class RequireUpload(models.Model):
"""
请求文件上传
"""
del_choices = (('0', '未删除'), ('1', '已删除'))
now = str(now().strftime('%Y_%m'))
objectType = models.CharField(max_length=30,
verbose_name='图片对应模型',
help_text='图片对应模型(CharField)',
null=True, blank=True)
objectID = models.PositiveIntegerField(verbose_name='对应模型ID',
db_index=True,
help_text='对应模型ID(