在Django的admin中使用富文本编辑器 CKEditor上传图片

在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

效果:
在这里插入图片描述
在这里插入图片描述
最后点击确定:
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值