• 在线编辑器KindEditor的使用


    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="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=" 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)
  • 相关阅读:
    linux安装python串口工具pyserial遇到不能成功导入的问题
    yum rpm apt-get wget 辨析
    系统时间不一致导致memcached的session不共享
    ERROR: transport error 202: bind failed: Address already in use
    The user specified as a definer ('root'@'%') does not exist
    IE比Chrome强的一个地方
    电脑突然死机,系统日志记录事件ID=6008
    mysql 查询多个id
    tomcat登陆WEB显示无权限问题&& tomcat无限循环启动问题
    MySql中把一个表的数据插入到另一个表中的实现代码
  • 原文地址:https://www.cnblogs.com/skiler/p/6668492.html
Copyright © 2020-2023  润新知