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. iOS11 Xcode 9 按住command 单击 恢复到从前(直接跳转到定义)

    iOS11 Xcode 9  按住command 单击 恢复到从前(直接跳转到定义)   2017年9月20日,苹果如期推送 Xcode 9 和 iOS 11的更新. Xcode 9正式版与之前bet ...

  2. 二分法php

    二分法.分别使用while循环的方法和递归调用的方法. <?php // 二分法的使用数组必须是有序的,或升序,或降序 $arr = array( 1, 3, 5, 7, 9, 13 ); // ...

  3. 使用php分页类实现简单分类

    分页类參考地址:http://blog.csdn.net/buyingfei8888/article/details/40260127 just soso. 实现分页主要分为4步: 1 引入分页类 2 ...

  4. 【服务器】Https服务配置

    1)利用openssl生成证书 2)再次修改nginx配置文件nginx.conf中的server配置 ① 是默认监听http请求的8080端口的 server    (再次修改,第一次是在 用ngi ...

  5. java 读取excel内容转为JSONArray

    需要引入的JAR     <!--*.xls--> <dependency> <groupId>net.sourceforge.jexcelapi</grou ...

  6. 番外篇:因为一个固态导致的——系统重装与JAVA软件环境下载安装配置

    第一步:拆机改装 最近想换个固态硬盘提提速度,就买了个,然后拧下后盖螺丝,将键盘盖拿下,中间有两个根线连着把扣打开就可以了,将新的固态硬盘装到原本的机械硬盘的地方,又买了个光驱托盘改装位将光驱位装上了 ...

  7. final、finally、 finalize 有什么不同

    感觉这三者除了长得像也没啥可作为比较的,但是面试题中经常会出现这三者的比较,就简单总结一下. 1.final final 可以用来修饰类.方法和变量,修饰类的时候表示类是不可以被继承的,修饰方法的时候 ...

  8. 2017-2018-2 20155315《网络对抗技术》Exp8 :Web基础

    实验目的 理解HTML,学会Web前端.Web后端和数据库编程及SQL注入.XSS攻击测试 教程 实验内容 操作程序规律 运行脚本或可执行文件 查看配置文件 出错找日志 Web前端HTML 能正常安装 ...

  9. 20155334 曹翔 Exp2 后门原理与实践

    20155334 曹翔 Exp2 后门原理与实践 不多废话直接上实验过程,本实验的所有端口都是5334. 一.实验过程 查询主机Windows和虚拟机kali的ip地址: Windows获得Linux ...

  10. # 20155337《网络对抗》Exp9 Web安全基础

    20155337<网络对抗>Exp9 Web安全基础 实践目标 一.基础问题回答 1.实验后回答问题 SQL注入攻击原理,如何防御 SQL注入攻击的本质是利用SQL语法,针对应用程序开发过 ...