KindEditor  富文本编辑器插件

目的及原理:

  更便捷的在前端页面上实现用户的文本编辑操作,

    本质上就是对标签的样式进行封装和事件预处理,

    常规操作都可以通过直接的引入即可实现,

    但是对于存在前后摇交互的文件上传操作需要对后端数据采集和返回进行相应的配置

下载地址:

http://kindeditor.net/down.php

实现效果:

  

引入:

 <script charset="utf-8" src="/static/kindeditor/kindeditor-all.js"></script>
<script>
KindEditor.ready(function (K) {
window.editor = K.create('#article_content', { // 被修饰的 textarea
width: "700px",
height: "500px",
// 可以控制 保留还算去除那些特定的功能
items: [
'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'template', 'code', 'cut', 'copy', 'paste',
'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',
'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript',
'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/',
'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',
'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|', 'image', 'multiimage',
'flash', 'media', 'insertfile', 'table', 'hr', 'emoticons', 'baidumap', 'pagebreak',
'anchor', 'link', 'unlink', '|', 'about'
],
// 上传文件的时候需要指定路径
uploadJson: "/upload/",
// 因为 csrf 导致403 因此需要将csrf 的值也传入
extraFileUploadParams: {
csrfmiddlewaretoken: $("[name='csrfmiddlewaretoken']").val()
},
// 为了方便拿到我们上传的文件的句柄 自定义一个
filePostName:"upload_img",
}); });
</script>

特殊点 - 关于上传文件 以及 图片显示:

  需要实现文件的上传在后端正确的保存的同时.还要实现前端的页面的显示在文本框内

前端后台需要用到的参数:

  路径 ,403处理 ,句柄

 // 上传文件的时候需要指定路径
uploadJson: "/upload/", // 因为 csrf 导致403 因此需要将csrf 的值也传入
extraFileUploadParams: {
csrfmiddlewaretoken: $("[name='csrfmiddlewaretoken']").val()
}, // 为了方便拿到我们上传的文件的句柄 自定义一个
filePostName:"upload_img",

后端后台的配置:

  urls.py

    指定一个路径处理上传文件的操作

    url(r'upload/',views.upload),

  views.py

    保存为本地文件,  设定文件的存放路径以及返回路径

 from bbs import settings
import os, json def upload(request):
# 文件句柄需要提前定义一个,便于后端操作
obj = request.FILES.get("upload_img")
# 对文件存放路径进行一个预处理,这里是直接将 media 的进行前缀拼接
path = os.path.join(settings.MEDIA_ROOT, "add_article_img", obj.name)
# 对文件的读取后循环写入新文件保存在 预置的路径中
with open(path, "wb") as f:
for line in obj:
f.write(line)
# 前端页面的呈现需要返回文件的路径作为 img 标签的 src 属性
res = {
"error": 0,
"url":"/media/add_article_img/" + obj.name
}
# 返回的时候当然要转换成 json 数据
return HttpResponse(json.dumps(res))

其他相关操作详见官网 4.x 文档:

http://kindeditor.net/demo.php

Django_ KindEditor 插件使用的更多相关文章

  1. 轮播组件/瀑布流/组合搜索/KindEditor插件

    一.企业官网 ### 瀑布流 ​ Models.Student.objects.all() #获取所有学员信息 ​ 通过div进行循环图片和字幕 ​ 1.以template模板方法实现瀑布流以列为单位 ...

  2. (转)ASP.NET版本的Kindeditor插件的使用(同步)

    昨天老大让我自己下载一个kindeditor说要放到“描述”功能中,并且不能提交(一边在textarea中写一边在label控件中将数据显示出来),由于从来没弄过,实在费了一翻劲.所以将此记录下来,一 ...

  3. ASP.NET版本的Kindeditor插件的使用

    1.先从官网中现在最新版本的Kindeditor,官网地址:http://www.kindsoft.net/ 下载之后的目录结构如下:

  4. 富文本编辑器kindeditor插件

    官网:http://kindeditor.net/doc.php 步骤

  5. Kindeditor编辑插件的使用

    1.首先kindeditor这个插件需要配合着asp.net的自生带的控件textbox来实现 2.首先前台界面代码 <f:FormRow runat="server"> ...

  6. 富文本插件KindEditor

    具体用法查看官网http://kindeditor.net/doc.php {% load staticfiles %} <!DOCTYPE html> <html lang=&qu ...

  7. kindEditor编写插件遇到的问题

    kindEditor是一个功能强大的在线文本编辑器,而且提供了插件扩展功能,更好的满足用户各方面的需求.在项目中,我们就有如此的需求:在kindEditor编辑器中,添加一条下划线,并且在下划线的中间 ...

  8. KindEditor文件上传成功前端显示上传失败

    一.使用kindeditor 上传图片 ,根据kindeditor 要求返回了相应的数据, 但是kindeditor 插件显示上传失败!!! 解决方法: 各个版本位置可能不同!!! 1.修改kinde ...

  9. kindEditor 富文本编辑器 使用介绍

    第一版:存放位置:  ---->把该创建的文件包放到javaWeb 过程的 WEB_INF 下:如图所示. 第二步:< kindEditor 插件的引用> :JS引用 <scr ...

随机推荐

  1. day59

    轮播图作业 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF ...

  2. php实现远程网络文件下载到服务器指定目录(方法二)

    <?php // maximum execution time in seconds set_time_limit (24 * 60 * 60); //if (!isset($_POST['su ...

  3. 关于this指向,翻到的

    关于JavaScript函数执行环境的过程,IBM developerworks文档库中的一段描述感觉很不错,摘抄如下: “JavaScript 中的函数既可以被当作普通函数执行,也可以作为对象的方法 ...

  4. [Deep-Learning-with-Python] Keras高级概念

    Keras API 目前为止,介绍的神经网络模型都是通过Sequential模型来实现的.Sequential模型假设神经网络模型只有一个输入一个输出,而且模型的网络层是线性堆叠在一起的. 这是一个经 ...

  5. 洛谷 P3302 [SDOI2013]森林

    ->题目链接 题解: #include<queue> #include<cstdio> #include<cstring> #include<iostr ...

  6. 洛咕 P4491 [HAOI2018]染色

    显然颜色数量不会超过\(lim=\min(m,n/S)\) 考虑容斥,计算恰好出现了\(S\)次的颜色有至少\(i\)种的方案数\(f[i]\),钦定\(i\)种颜色正好放\(S\)种 有\(m\)种 ...

  7. winform 记事本 剪切 粘贴 全选 撤销

    private void 撤消UToolStripMenuItem_Click(object sender, EventArgs e) { textBox1.Undo(); } private voi ...

  8. 开源微信Http协议Sdk【实现登录/获取好友列表/修改备注/发送消息】

    基于微信Http协议封装的一个Sdk,目前实现了以下功能:. 1:扫码登录(检测二维码扫描状态) 2:获取最近联系人.群组.所有联系人 3:修改好友备注 4:给好友发送消息 暂且这么多,也没多余的时间 ...

  9. Yeoman的好基友:Grunt

    grunt介绍 前端不能承受之痛 1.这是我们的生活 文件压缩:YUI Compressor.Google Closure 文件合并:fiddler + qzmin 文件校验:jshint 雪碧图:c ...

  10. Sqlserver_分组

    create table orders ( id int, orderName varchar() ) go create table cars ( id ,) , ordersid int, pna ...