富文本编辑器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. 使用open live writer客户端写博客

    注:Windows Live Writer 已经停止更新,建议安装 Open Live Writer,下载地址: http://openlivewriter.org/ 使用open live writ ...

  2. Confluence 6 管理员联系表单的后台配置界面

    管理员联系表单的后台配置界面截图和配置. 对输入的数据进行编辑和选择是否启用发送电子邮件给管理员 https://www.cwiki.us/display/CONFLUENCEWIKI/Configu ...

  3. django-admin的源码流程

    一.admin的源码流程 首先可以确定的是:路由关系一定对应一个视图函数 a.当点击运行的时候,会先找到每一个app中的admin.py文件,并执行 b.执行urls.py admin.site是什么 ...

  4. Mycat实现mysql主从复制(读写分离)

    数据库性能瓶颈主要原因: 随着用户数的增多,带来的是数据库连接的大幅度增长 随着业务体量的增长,表数据量(空间存储的问题)的大幅增长,其中涉及到索引的优化,mysql默认的索引是硬盘级别的,BTREE ...

  5. PDF文件怎么修改,PDF文件编辑方法

    PDF文件是一种独特的文件,在日常办公中已经成为我们使用最广泛的电子文档格式.在使用PDF文件中会遇到PDF文件有错区的时候,再从新制作一个PDF文件会比较麻烦,只能通过工具来对PDF文件进行修改,这 ...

  6. Pychram 在model中修改class属性值后更新到Navicat Premium中

    一.pycharm数据更新的问题bug问题 1.在更改user_email字端属性后出现数据库信息无法更新到数据库,出现的bug原因是数据库修改了属性之后没有做migrate 和 makemigrat ...

  7. cf29d 深搜,dfs序

    #include<bits/stdc++.h> using namespace std; #define maxn 500 ]; int n,head[maxn],tot,a[maxn], ...

  8. log4j2的log输出到tomcat/logs目录下及使用(转)

    原文链接:http://blog.csdn.net/honghailiang888/article/details/50370252 原文作者:  Herman-Hong 一.环境配置 log4j2. ...

  9. 使用springboot actuator监控应用

    微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个环节出现了问题? ...

  10. 论文阅读笔记七:Structure Inference Network:Object Detection Using Scene-Level Context and Instance-Level Relationships(CVPR2018)

    结构推理网络:基于场景级与实例级目标检测 原文链接:https://arxiv.org/abs/1807.00119 代码链接:https://github.com/choasup/SIN Yong ...