Django_ KindEditor 插件使用
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 插件使用的更多相关文章
- 轮播组件/瀑布流/组合搜索/KindEditor插件
一.企业官网 ### 瀑布流 Models.Student.objects.all() #获取所有学员信息 通过div进行循环图片和字幕 1.以template模板方法实现瀑布流以列为单位 ...
- (转)ASP.NET版本的Kindeditor插件的使用(同步)
昨天老大让我自己下载一个kindeditor说要放到“描述”功能中,并且不能提交(一边在textarea中写一边在label控件中将数据显示出来),由于从来没弄过,实在费了一翻劲.所以将此记录下来,一 ...
- ASP.NET版本的Kindeditor插件的使用
1.先从官网中现在最新版本的Kindeditor,官网地址:http://www.kindsoft.net/ 下载之后的目录结构如下:
- 富文本编辑器kindeditor插件
官网:http://kindeditor.net/doc.php 步骤
- Kindeditor编辑插件的使用
1.首先kindeditor这个插件需要配合着asp.net的自生带的控件textbox来实现 2.首先前台界面代码 <f:FormRow runat="server"> ...
- 富文本插件KindEditor
具体用法查看官网http://kindeditor.net/doc.php {% load staticfiles %} <!DOCTYPE html> <html lang=&qu ...
- kindEditor编写插件遇到的问题
kindEditor是一个功能强大的在线文本编辑器,而且提供了插件扩展功能,更好的满足用户各方面的需求.在项目中,我们就有如此的需求:在kindEditor编辑器中,添加一条下划线,并且在下划线的中间 ...
- KindEditor文件上传成功前端显示上传失败
一.使用kindeditor 上传图片 ,根据kindeditor 要求返回了相应的数据, 但是kindeditor 插件显示上传失败!!! 解决方法: 各个版本位置可能不同!!! 1.修改kinde ...
- kindEditor 富文本编辑器 使用介绍
第一版:存放位置: ---->把该创建的文件包放到javaWeb 过程的 WEB_INF 下:如图所示. 第二步:< kindEditor 插件的引用> :JS引用 <scr ...
随机推荐
- 异常处理简单例子--python
捕获所有异常 #!/usr/bin/pythona = 10b = 0try: c = a/b print c print 'nothing happen...'#todo: catch all ex ...
- Android开发环境的发展以及重装系统之后在myeclipse重配Android开发环境。
android的开发环境早期要自己去去官网下SDK,ADT,AVD等.不仅在一开始要面临国内防火墙的阻拦,四处奔波之后都下载好了,还得自己Linked,可谓困难重重.随着android开发的火热,上面 ...
- javaee_SSH
这是javaee课程的第六个实验ssh sturts2+sping 3+hibernate 现予以记录整个过程,以防遗忘 1. 2. 3. 4. 5.输入mvnrepository.com进入-> ...
- 20155330 《网络攻防》 Exp3 免杀原理与实践
20155330 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征码.先对流行代码特征的提取,然后进行程序的比对,如果也检测到相应的特征码的程序 ...
- Hiberante持久化对象的3种状态
近日一同事问我关于Hibernate中对象的3种状态的问题,因此特意总结一下.在Hibernate中对象是有以下3中状态: 瞬时态(transient object): 没有OID值,没有被s ...
- python 回溯法 子集树模板 系列 —— 13、最佳作业调度问题
问题 给定 n 个作业,每一个作业都有两项子任务需要分别在两台机器上完成.每一个作业必须先由机器1 处理,然后由机器2处理. 试设计一个算法找出完成这n个任务的最佳调度,使其机器2完成各作业时间之和达 ...
- 【第十三课】监控Linux系统状态
目录 1.查看系统负载命令:w.uptime 2.vmstat详解 3.top动态查看负载 4.sar命令(监控网卡流量) 5.nload命令(监控网卡流量) 6.iostat iotop(监控IO性 ...
- C# Language Specification 5.0 (翻译)第六章 转换
转换使表达式可以当做一个明确的类型来加以处理.转换使得所给定类型的表达式以不同类型来处理,或使得没有某个类型的表达式获得该类型.转换可以是显式或隐式的,而这决定了是否需要显式地强制转换.比方说,从类型 ...
- C语言与数据库操作入门(Win版)
C语言与数据库操作入门(Win版) 2017年12月10日 17:30:17 阅读数:1387 数据库,DataBase,学C语言的是不是想说,很想爱她却并不容易呢?不用着急,C语言也可以操作数据库的 ...
- BCompare破解方法
1.删除 BCUnrar.dll 文件,重启软件. 备注:使用everything搜索BCUnrar.dll
