一、图片上传
在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进行转义
效果: