1、官网下载:点击进入

2、解压后目录说明

├── asp                          asp示例
├── asp.net asp.net示例
├── attached 空文件夹,放置关联文件attached
├── examples HTML示例
├── jsp java示例
├── kindeditor-all-min.js 全部JS(压缩)
├── kindeditor-all.js 全部JS(未压缩)
├── kindeditor-min.js 仅KindEditor JS(压缩)不包含plugins的JS代码
├── kindeditor.js 仅KindEditor JS(未压缩)不包含plugins的JS
├── lang 支持语言
├── license.txt License
├── php PHP示例
├── plugins KindEditor内部使用的插件
└── themes KindEditor主题

3、使用样例

  1. 页面添加textarea标签

    <textarea id="editor_id" name="content" style="width:700px;height:300px;">
    
    </textarea>
  2. 在页面添加如下脚本

    <script charset="utf-8" src="/editor/kindeditor.js"></script>
    <script>
    KE.show({
    id : 'editor_id'
    });
    </script>
  3. 获取编辑器的内容
    //取得HTML内容
    html = KE.html('editor_id'); //同步数据后可以直接取得textarea的value
    KE.sync('editor_id');
    html = document.getElementById('editor_id').value;
    html = $('#editor_id').val(); //jQuery //设置HTML内容
    KE.html('editor_id', 'HTML内容');
  4. 自己写的评论使用kindeditor
  5. <div class="comment-area">
    <div class="replay-comment-user"></div>
    <div class="reply-area" style="position: relative;">
    {% if not request.session.user %} //我是将用户信息保存在session里
    <div style="text-align:center;line-height:200px;position: absolute;top:0;left:0;right:0;bottom: 0;background-color: rgba(255,255,255,.6)">
    您需要登录后才可以回帖 <a href="/login/">登录</a> | <a href="/register/">立即注册</a>
    </div>
    {% endif %} <textarea id="editor_id" name="content" style="width: 100%;height:200px;"></textarea>
    </div>
    <div>
    <div class="reply-btn">
    <span><span>21</span>/255字</span>
    <a class="btn btn-primary" onclick="editformsubmit()">发表回复</a>
    </div>
    </div> </div>
    <script charset="utf-8" src="/static/plugins/kindeditor-4.1.10/kindeditor-all.js"></script>
    <script>
    $(function () {
    initKindEditor();
    })
    function initKindEditor() {
    //对#editor_id对象实例化产生一个kindeditor的对象
    kindeditor = KindEditor.create('#editor_id', {
    resizeType: 1, //文本框大小是否可调,0:不可调,1:上下可调,2:上下,斜拉可调
    allowPreviewEmoticons: false, //表情是否会出现预览效果
    allowImageUpload: true, //是否允许上传本地图片
    fileManagerJson: '/kind/file_manager/',
    uploadJson:'/edit_comment_photo.html', //图片上传的url
    {# filePostName:'/edit_comment_img_name',#}
    extraFileUploadParams: {
    'csrfmiddlewaretoken': '{{ csrf_token }}'
    }, //避免csrf拦截
    items: [ //在文本框添加一些元素按钮
    'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline',
    'removeformat', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist',
    'insertunorderedlist', '|', 'emoticons', 'image', 'link']
    })
    }
    function editformsubmit() { //提交时发送ajax请求
    $.ajax({
    url:'/submit_comment.html',
    type:'GET',
    data:{'comment':kindeditor.html(),'article_id':{{ article.id }},'user_id':{{user_obj.id}} },
    success:function (args) {
    console.log(args)
    kindeditor.html();
    window.location.reload();
    }
    })
    }
    </script>
    def submit_comment(request):
    # content = models.CharField(max_length=10240) #评论的内容
    # article = models.ForeignKey('Article',related_name='article_coments') #评论那篇文章
    # user = models.ForeignKey('User') #哪个用户写的评论
    # ctime = models.DateField(auto_created=True) #评论的时间
    # parent_comment = models.ForeignKey('Comment',related_name='child_comment',null=True,blank=True) #评论是某条评论 data = request.GET.get('comment',None)
    article_id = request.GET.get('article_id',None)
    user_id = request.GET.get('user_id',None)
    models.Comment.objects.create(content=data,article_id =article_id,user_id=user_id )
    return HttpResponse('OK')
    def edit_comment_photo(request):
    img = request.FILES.get('imgFile') #从request拿到上传的照片
    imgdir = os.path.join('static','img','comment',img.name) #拼接相应的路径,为写入服务器做准备
    # print(imgdir)
    #将照片文件写入相应的路径
    with open(imgdir,'wb') as f:
    for line in img.chunks():
    f.write(line) #创建字典,将信息返回至前端
    dic = {
    'error': 0,
    'url': '/static/img/comment/' + img.name,
    'message': '上传成功!'
    } return JsonResponse(dic)

在线编辑器KindEditor的使用的更多相关文章

  1. 在线编辑器kindEditor

    操作文档:http://kindeditor.net/doc.php 文件下载

  2. jquery插件课程2 放大镜、多文件上传和在线编辑器插件如何使用

    jquery插件课程2 放大镜.多文件上传和在线编辑器插件如何使用 一.总结 一句话总结:插件使用真的还是比较简单的,引包,初始化,配置参数(json),配置数据(json),而后两步不是必须的.而且 ...

  3. 在线编辑器的使用-KindEditor

    第一种:KindEditor编辑器 步骤一:加载相应的核心的文件 下载地址:http://kindeditor.net/demo.php <link rel="stylesheet&q ...

  4. 将kindeditor在线编辑器制作成smarty插件

    在web开发中,在线编辑器是经常要用到的功能模块,虽说配置在线编辑器没有多大难度,但是每一次编写重复的代码,总是让人感觉不爽. 本篇,就来讲解一下,如何将kindeditor制作成smarty的一个自 ...

  5. jsp解决kindeditor在线编辑器struts图片上传问题

    1.下载 官网下载ckeditor,解压后去掉不需要的部分,仅需保留plugin,lang,theme文件夹,这三个文件夹中用不到的东西可以删除, 比如lang文件下存放所有语言文件js,仅仅 保留e ...

  6. kindeditor在线编辑器的使用心得

    1. 如何声明引用? <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> ...

  7. .Net在线编辑器:KindEditor及CkEditor+CkFinder配置说明

    Net在线编辑器:KindEditor及CkEditor+CkFinder配置说明 一.KindEditor(免费) KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所 ...

  8. js组件在线编辑器插件、图表库插件、文件树插件

    在线编辑器插件: 一.kindeditor 二.UEditor 图表库插件: 一.echart 二.highchart 文件树插件: 一.zTree -- jQuery 树插件 http://www. ...

  9. 基于thinkphp的在线编辑器kindeditor-v4.1.3

    首先,去官网下载最新版的kindeditor,然后把里面asp,jsp,net,example的全删除,然后改名为editor放进public(最外层目录的public)文件夹里面. 在目录lib目录 ...

随机推荐

  1. RedLock 实现分布式锁

    J并发是程序开发中不可避免的问题,根据系统面向用户.功能场景的不同,并发的重视程度会有不同.从程序的角度来说,并发意味着相同的时间点执行了相同的代码,而有些情况是不被允许的,比如:转账.抢购占库存等, ...

  2. 使用ssm整合是项目启动tomcat报错java.lang.IndexOutOfBoundsException

    解决办法:删除.m2文件夹下的全部仓库,然后重启myeclipse,对项目进行maven project.问题解决. 在没有这样做时,除了tomcat启动会失败,项目还有会报如下错误: ①cvc-co ...

  3. C++(二十七) — 深拷贝、浅拷贝、复制构造函数举例

    1.复制构造函数.及new空间申请 复制构造函数,也是构造函数.只在初始化时调用,如果定义对象后赋值,比如,t1=t2,则只是运算符重载,没有调用构造函数. #include <iostream ...

  4. Metasploit 使用简介

    Metasploit Framework 是非常优秀的开源渗透测试框架,像我这样的菜鸟刚刚听说,于是花时间好好研究了一下,整理了一下学习笔记,贴出来和大家一起交流.第一次写文章又不足的地方大家多多指点 ...

  5. ckeditor5富文本编辑器在vue中的使用

    安装依赖: npm install --save @ckeditor/ckeditor5-vue @ckeditor/ckeditor5-build-classic 要创建编辑器实例,必须首先将编辑器 ...

  6. C++复习11.函数的高级特性

    C++ 函数的高级特性 20131002 C++函数增加了重载(override), inline, const, virtual四种机制,重载和内联机制既可以用于全局函数,也可以用于类的成员函数.c ...

  7. URAL 1830 Help in the RNOS 思路,读题 难度:1

    http://acm.timus.ru/problem.aspx?space=1&num=1830 这道题需要理解题目操作的意思, 要更改第i位的状态,第i-1位必须激活为1,0-i-2位必须 ...

  8. jQuery实现点击式选项卡

    参考:jQuery权威指南jQuery初步jQuery选择器jQuery操作domjQuery操作dom事件jQuery插件jQuery操作AjaxjQuery动画与特效jQuery实现导航栏jQue ...

  9. Mac上安装第三方应用显示包资源破坏解决办法

    Mac上安装第三方应用显示包资源破坏解决办法 步骤1:Spotlight搜索(快捷键:command+空格或右上角搜索的符号):搜索 “终端”步骤2:直接复制粘贴 sudo spctl --maste ...

  10. C++11_ tuple

    版权声明:本文为博主原创文章,未经博主允许不得转载. tuple 是一个可以装载任何变量的容器,C++11的Variadic Templates给tuple的实现带来了极大方便. tuple的实现基于 ...