(十二)Django的图片上传及富文本编辑器

一、图片上传

  在django开发当中,除了静态文件的概念之外,还有媒体文件(用户上传的声音,视频,图片等文件)。将文件传递到服务器上,首先要有文件处理模块,比如: pillow(python2 PIL),其次要有文件存储的位置。

一般图片在数据库中存储有两种方式
1、将图片上传至服务器,数据库存放的是相应图片的具体位置
2、将图片编码为二进制格式,存放至数据库,取得时候再进行解码

图片配置:(setting.py)

# 前端使用媒体文件的路由,绝大部分情况可以用static_url来代替,所以static_url和media_url的值不可以一样
MEDIA_URL = "/media/"
# 媒体文件上传的路径,通常就是我们静态文件的路径
MEDIA_ROOT = os.path.join(BASE_DIR,"static")

在这里插入图片描述

安装pillow模块,支持图片处理
在这里插入图片描述

在原模型类基础上新增图片字段
在这里插入图片描述
同步数据库
在这里插入图片描述
这里选择1,数据库中每条数据初始默认图片
在这里插入图片描述
前端页面添加
在这里插入图片描述

二、富文本编辑器

ckeditor 富文本编辑器,是一个和django结合的富文本编辑器
安装:

pip install django-ckeditor

在这里插入图片描述
配置

# 基于ckeditor的上传地址
CKEDITOR_UPLOAD_PATH = 'static/upload'
# ckeditor上传图片使用到的模块
CKEDITOR_IMAGE_BACKEND = 'pillow'

在这里插入图片描述

安装CKeditorApp
在这里插入图片描述

配置编辑器路由
在这里插入图片描述

使用(models.py)

from ckeditor.fields import RichTextField

在这里插入图片描述

注意:
Django-ckeditor提交的内容是通过自动转义的内容,会展示HTML源码,在通常情况,可以使用safe进行转义
在这里插入图片描述
效果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值