富文本编辑器Django-ckeditor
富文本编辑器Django-ckeditor
前言
刚开始学习django的时候,在后台编辑数据的时候,总是在想,功能是否太简陋了点,只能做简单的文本编辑,所以在这里记录一个富文本编辑器Django-ckeditor。
选择标准:
具有基本的富文本编辑功能
可以上传图片
可以查看源码
有持续更新(维护)
使用
1.安装jango-ckeditor
pip install django-ckeditor

2.注册ckeditor应用
在settings.py文件的INSTALLED_APPS下加入
'ckeditor',
INSTALLED_APPS = [
# ...
'ckeditor',
]
3.配置model
在model.py文件下
包导入
1.from ckeditor.fields import RichTextField 将数据显示字段替换为RichTextField
2.content=RichTextField()
其中,title是博客标题,content是博客内容。博客内容需要富文本编辑,则改成如下:
from django.db import models
from ckeditor.fields import RichTextField class Blog(models.Model):
title = models.CharField(max_length=50)
content = RichTextField()
4.数据库
python manage.py makemigrations
python manage.py migrate

添加文件上传功能
一些常用的功能我们可以在菜单栏使用,但是图片上传功能的没有的,我们还需要配置

点击菜单栏的图片这个图标,里面没有图片上传的功能

现在我们来添加这个功能
1.安装
pip install pillow
2.注册应用(配置app)
'ckeditor_uploader',
INSTALLED_APPS = [
# ...
'ckeditor',
'ckeditor_uploader',
]
3.配置settings
1.先在项目根目录下创建media目录
2.配置上传路径、设置文件上传静态目录
MEDIA_URL="/media/"
MEDIA_ROOT=os.path.join(BASE_DIR, 'media')
CKEDITOR_UPLOAD_PATH="upload/"
#配置上传的路径:
#当文件第一次上传到服务器,会自动在media目录下创建一个文件夹upload用来保存文件
使用上传功能,需要设置上传位置。该文件是上传到media目录,所以也需要设置media。打开settings.py添加如下设置:
MEDIA_URL = '/media/'
# 放在django项目根目录,同时也需要创建media文件夹
MEDIA_ROOT = os.path.join(BASE_DIR, 'media') CKEDITOR_UPLOAD_PATH = 'upload/'
4.配置url
from django.conf import settings
from.conf.urls.static import static
from django.urls import include,path path('ckeditor',include('ckeditor_uploader.urls')) urlpatterns +=static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
5.配置model
from ckeditor_uploader.fields import RichTextUploadingField
把数据字段改成RichTextUploadingField
from django.db import models
from ckeditor_uploader.fields import RichTextUploadingField class Blog(models.Model):
title = models.CharField(max_length=50)
content = RichTextUploadingField()
6.数据库
python manage.py makemigrations
python manage.py migrate
现在就有图片上传的功能

我们选择一张图片进行上传,点击上传

服务端接收到图片

最后在浏览器显示图片

富文本编辑器Django-ckeditor的更多相关文章
- Django配置富文本编辑器kindeditor
一.简介 django是一个容易快速上手的web框架,用它来创建内容驱动型的网站(比如独立博客)十分方便.遗憾的是,django并没有提供官方的富文本编辑器,而后者恰好是内容型网站后台管理中不可或缺的 ...
- django中ckeditor富文本编辑器使用
1.安装模块 (pillow是python的一个图像处理库) pip install django-ckeditor pip install pillow 2.编辑seetings.py配置文件 IN ...
- CKEditor富文本编辑器
CKEditor 富文本即具备丰富样式格式的文本.在运营后台,运营人员需要录入课程的相关描述,可以是包含了HTML语法格式的字符串.为了快速简单的让用户能够在页面中编辑带格式的文本,我们引入富文本编辑 ...
- 搭建自己的博客(十三):为博客后台添加ckeditor富文本编辑器
使用django默认的编辑器感觉功能太少了,所以集成一下富文本编辑器. 1.安装和使用 (1).安装 pip install django-ckeditor (2).注册应用 在django的sett ...
- Django项目中添加富文本编辑器django-ckeditor
django-ckeditor库的使用步骤: 1.在命令行下安装django-ckeditor这个库: 命令:pip install django-ckeditor 2.安装成功后,配置Django项 ...
- Django的media配置与富文本编辑器使用的实例
效果预览 文章列表 添加文章 编辑文章|文章详情|删除文章 项目的基本文件 项目的Model from django.db import models # 导入富文本编辑器相关的模块 from cke ...
- day82:luffy:课程详情页面显示&章节和课时显示&视频播放组件&CKEditor富文本编辑器
目录 1.初始课程详情页面 2.视频播放组件 3.课程详情页面后端接口实现 4.课程详情页面-前端 5.CKEditor富文本编辑器 6.课程章节和课时显示-后端接口 7.课程章节和课时显示-前端 1 ...
- 富文本编辑器CKEDITOR的使用配置(问题注解)
CKEDITOR是一款非常轻便的富文本编辑器,如上图:参考网上的使用方法,我以.net为例,在aspx页面使用, 准备工作:首先要下载控件包,将解压后的整个文件夹添加到项目根目录. 第一步:引用js, ...
- MVC5富文本编辑器CKEditor配置CKFinder
富文本编辑器CKEditor的使用 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
- django富文本编辑器
-------------------tinymce富文本编辑器1.下载安装 1.在网站pypi网站搜索并下载"django-tinymce-2.4.0" 2.解压:tar zxv ...
随机推荐
- Confluence 6 用户宏示例 - Color and Size
这个示例定义了如何向你宏中传递参数.我们将会创建一个字体样式宏,在这个宏中有 2 个参数,允许用户在这 2 个参数中指定宏中包含的字体的颜色大小. Macro name stylish Visibil ...
- Confluence 6 用户目录图例 - Confluence 内部目录
上面的图:Confluence 使用内部目录为用户管理. https://www.cwiki.us/display/CONFLUENCEWIKI/Diagrams+of+Possible+Config ...
- redis持久化之AOF
一:Redis的AOF是什么? 以日志的形式来记录每个写操作(读操作不记录),将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构 ...
- list的add()方法与addAll()方法简介
简单描述:月读别人的代码,发现了一个有意思的东西,list的一个方法,addAll(),然后就去度娘了一下,发现这个还挺有用的. 吐槽一下:为什么自己没发现这个方法呢?因为平时自己写list的时候,基 ...
- 【ES】学习10-聚合3
聚合是在查询匹配的文档中做统计的 不指定查询语句时,从所有文档中匹配. 下面两个语句等价: GET /cars/transactions/_search { , "aggs" : ...
- ubuntu下直接可视化访问服务器文件夹方法
任意打开一个文件夹在文件夹的左下角输入 sftp://list-2018@10.192.229.62/home/list-2018 list-2018:想登陆的服务器下的帐号 10.192.229 ...
- 记录mysql正在执行的SQL语句
show variables like "general_log%"; SET GLOBAL general_log = 'ON';SET GLOBAL general_log = ...
- 一脸懵逼学习Hadoop分布式集群HA模式部署(七台机器跑集群)
1)集群规划:主机名 IP 安装的软件 运行的进程master 192.168.199.130 jdk.hadoop ...
- webpack学习笔记--按需加载
为什么需要按需加载 随着互联网的发展,一个网页需要承载的功能越来越多. 对于采用单页应用作为前端架构的网站来说,会面临着一个网页需要加载的代码量很大的问题,因为许多功能都集中的做到了一个 HTML 里 ...
- 【BZOJ2560】串珠子
题解: 跟n个点有标号的无向连通图个数几乎一模一样 直接上代码了 代码: #include <bits/stdc++.h> using namespace std; #define ll ...