富文本编辑器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的更多相关文章

  1. Django配置富文本编辑器kindeditor

    一.简介 django是一个容易快速上手的web框架,用它来创建内容驱动型的网站(比如独立博客)十分方便.遗憾的是,django并没有提供官方的富文本编辑器,而后者恰好是内容型网站后台管理中不可或缺的 ...

  2. django中ckeditor富文本编辑器使用

    1.安装模块 (pillow是python的一个图像处理库) pip install django-ckeditor pip install pillow 2.编辑seetings.py配置文件 IN ...

  3. CKEditor富文本编辑器

    CKEditor 富文本即具备丰富样式格式的文本.在运营后台,运营人员需要录入课程的相关描述,可以是包含了HTML语法格式的字符串.为了快速简单的让用户能够在页面中编辑带格式的文本,我们引入富文本编辑 ...

  4. 搭建自己的博客(十三):为博客后台添加ckeditor富文本编辑器

    使用django默认的编辑器感觉功能太少了,所以集成一下富文本编辑器. 1.安装和使用 (1).安装 pip install django-ckeditor (2).注册应用 在django的sett ...

  5. Django项目中添加富文本编辑器django-ckeditor

    django-ckeditor库的使用步骤: 1.在命令行下安装django-ckeditor这个库: 命令:pip install django-ckeditor 2.安装成功后,配置Django项 ...

  6. Django的media配置与富文本编辑器使用的实例

    效果预览 文章列表 添加文章 编辑文章|文章详情|删除文章 项目的基本文件 项目的Model from django.db import models # 导入富文本编辑器相关的模块 from cke ...

  7. day82:luffy:课程详情页面显示&章节和课时显示&视频播放组件&CKEditor富文本编辑器

    目录 1.初始课程详情页面 2.视频播放组件 3.课程详情页面后端接口实现 4.课程详情页面-前端 5.CKEditor富文本编辑器 6.课程章节和课时显示-后端接口 7.课程章节和课时显示-前端 1 ...

  8. 富文本编辑器CKEDITOR的使用配置(问题注解)

    CKEDITOR是一款非常轻便的富文本编辑器,如上图:参考网上的使用方法,我以.net为例,在aspx页面使用, 准备工作:首先要下载控件包,将解压后的整个文件夹添加到项目根目录. 第一步:引用js, ...

  9. MVC5富文本编辑器CKEditor配置CKFinder

    富文本编辑器CKEditor的使用 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

  10. django富文本编辑器

    -------------------tinymce富文本编辑器1.下载安装 1.在网站pypi网站搜索并下载"django-tinymce-2.4.0" 2.解压:tar zxv ...

随机推荐

  1. Confluence 6 用户宏示例 - Color and Size

    这个示例定义了如何向你宏中传递参数.我们将会创建一个字体样式宏,在这个宏中有 2 个参数,允许用户在这 2 个参数中指定宏中包含的字体的颜色大小. Macro name stylish Visibil ...

  2. Confluence 6 用户目录图例 - Confluence 内部目录

    上面的图:Confluence 使用内部目录为用户管理. https://www.cwiki.us/display/CONFLUENCEWIKI/Diagrams+of+Possible+Config ...

  3. redis持久化之AOF

    一:Redis的AOF是什么? 以日志的形式来记录每个写操作(读操作不记录),将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构 ...

  4. list的add()方法与addAll()方法简介

    简单描述:月读别人的代码,发现了一个有意思的东西,list的一个方法,addAll(),然后就去度娘了一下,发现这个还挺有用的. 吐槽一下:为什么自己没发现这个方法呢?因为平时自己写list的时候,基 ...

  5. 【ES】学习10-聚合3

    聚合是在查询匹配的文档中做统计的 不指定查询语句时,从所有文档中匹配. 下面两个语句等价: GET /cars/transactions/_search { , "aggs" : ...

  6. ubuntu下直接可视化访问服务器文件夹方法

    任意打开一个文件夹在文件夹的左下角输入   sftp://list-2018@10.192.229.62/home/list-2018 list-2018:想登陆的服务器下的帐号 10.192.229 ...

  7. 记录mysql正在执行的SQL语句

    show variables like "general_log%"; SET GLOBAL general_log = 'ON';SET GLOBAL general_log = ...

  8. 一脸懵逼学习Hadoop分布式集群HA模式部署(七台机器跑集群)

    1)集群规划:主机名        IP      安装的软件                     运行的进程master    192.168.199.130   jdk.hadoop      ...

  9. webpack学习笔记--按需加载

    为什么需要按需加载 随着互联网的发展,一个网页需要承载的功能越来越多. 对于采用单页应用作为前端架构的网站来说,会面临着一个网页需要加载的代码量很大的问题,因为许多功能都集中的做到了一个 HTML 里 ...

  10. 【BZOJ2560】串珠子

    题解: 跟n个点有标号的无向连通图个数几乎一模一样 直接上代码了 代码: #include <bits/stdc++.h> using namespace std; #define ll ...