栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Django28——使用Django 富文本CKEditor上传图片

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django28——使用Django 富文本CKEditor上传图片

文章目录
  • 1、安装pillow库
  • 2、注册ckeditor_uploader应用
  • 3、设置媒体资源根目录
  • 4、设置图片上传路径
  • 5、配置上传url
  • 6、配置media的访问
  • 7、修改models
  • 8、刷新后台,查看效果
  • 9、查看后台保存图片的情况
  • 10、查看数据库情况

前提:已经安装 django-ckeditor

pip install django-ckeditor
1、安装pillow库
 pip install pillow
2、注册ckeditor_uploader应用
INSTALLED_APPS = [
    ...
    # 注册富文本编辑器 ckeditor
    "ckeditor",
    "ckeditor_uploader",  # 图片上传需注册
]
3、设置媒体资源根目录

使用上传功能,需要设置上传位置。该文件是上传到media目录,所以也需要设置media。创建media文件夹,放在django项目根目录下。

media存放用户上传的景点图片等资源,这些资源文件变动频率较高,因此与静态资源区分不同的存储路径。

# ckeditor上传图片配置项,设置媒体资源的保存路径
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

4、设置图片上传路径

正文中添加图片,使用django ckeditor上传,设置保存在配置属性CKEDITOR_UPLOAD_PATH设置的文件夹中,该文件夹必须在媒体资源文件夹的目录下。

CKEDITOR_UPLOAD_PATH = "upload"
5、配置上传url

上传功能需要有地址可以请求,需要提供上传的url。打开全局的urls.py,添加设置到urlpatterns中:

 path('ckeditor/', include('ckeditor_uploader.urls')),  # 此行是新增的

6、配置media的访问

上传的图片是到media中,不是在static中。我们还需要设置media可被访问

from django.conf.urls.static import static  # 此行是新增
from django.conf import settings  # 此行是新增

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

7、修改models
  • ckeditor.fields.RichTextField 不支持上传文件的富文本字段
  • ckeditor_uploader.fields.RichTextUploadingField 支持上传文件的富文本字段
from ckeditor_uploader.fields import RichTextUploadingField  # 此句是新增

content = RichTextUploadingField(verbose_name='景点正文') 

8、刷新后台,查看效果


点击该按钮弹出如下上传文件框:


点击选择文件,上传,确定如下图:

9、查看后台保存图片的情况

10、查看数据库情况

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/928851.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号