后台文本编辑器KindEditor介绍

我们在自己的个人主页添加文章内容的时候,需要对文章内容进行修饰,此时就需要文本编辑器助阵了!

功能预览

KindEditor文本编辑器

KindEditor文本编辑器官网:http://kindeditor.net/demo.php
本文简单介绍下KindEditor的引入、主要的参数以及上传文件等功能。

KindEditor的引入

在官网下载好编辑器文件后,我们把它放在项目的static/blog目录下,如下图所示:

那么在我们需要调用编辑器的模板中加入相应的script标签就好了
<script src="/static/blog/jquery-1.12.4.js"></script>
<script charset="utf-8" src="/static/blog/kindeditor/kindeditor-all.js"></script>
<script>
KindEditor.ready(function(K) {
window.editor = K.create('#editor_id',{
//待填充内容
});
});
</script>
这里需要注意两点:
一:需要先引入Jquery。
二:这里的'#editor_id'是Jquery的id选择器,选取的是id为eidtor_idtextarea,因此我们在上面必须得定义一个id为editor_id的textarea来做本编辑器的“容器”:
<textarea name="content" id="article_content1" cols="30" rows="10"></textarea>

KindEditor的参数

关于KindEditor的参数详见这里:http://kindeditor.net/docs/option.html
这里简单介绍几个:
下面是本系统的编辑器参数
<script>
KindEditor.ready(function(K) {
window.editor = K.create('#editor_id',{
width:"800",
height:"600",
resizeType:0,
uploadJson:"/upload/",
extraFileUploadParams:{
csrfmiddlewaretoken:$("[name='csrfmiddlewaretoken']").val(),
username:'{{ request.user.username }}'
},
filePostName:"upload_img"
});
});
</script>
宽度与高度是上面的widthheight
还有一个items,它表示编辑器的各种功能按钮,默认不写的情况下所有功能都展示,可以根据实际需求加载相应的功能模块。
resizeType代表编辑框能否拖动高度与宽度;参数为0表示不可改变,参数为1代表只能改变高度,参数为2表示可以同时改变高度与宽度。
uploadJsonfilePostName是与文件上传相关的参数,接下来会详细讲述。
extraFileUploadParams是将数据传给后台功能的参数,这里需要注意为了防止页面上报csrftoken错误,需要将csrf中间件生成的input标签的值传给后台!

KindEditor的文件上传

我们上面介绍的uploadJson参数就是制定文件上传的路由的,本例指定的是'/upload/'。
接着我们需要在路由中新建一条文件上传的路由:
path('upload/', views.upload),
然后在视图函数中创建相应的视图函数
##编辑器上传图片
def upload(request):
print(request.FILES)
img_obj = request.FILES.get("upload_img")
print(img_obj.name)
#MEDIA_ROOT = os.path.join(BASE_DIR,'media')
path = os.path.join(settings.MEDIA_ROOT, "add_article_img", img_obj.name)
with open(path, "wb") as f:
for line in img_obj:
f.write(line)
return HttpResponse("ok")
这样,我们就可以在编辑器中上传图片了。需要提醒大家的一点是,文件最终上传的目录是上面代码中path变量中指定的文件目录。

后台文本编辑器KindEditor介绍的更多相关文章

  1. python 全栈开发,Day83(博客系统子评论,后台管理,富文本编辑器kindeditor,bs4模块)

    一.子评论 必须点击回复,才是子评论!否则是根评论点击回复之后,定位到输入框,同时加入@评论者的用户名 定位输入框 focus focus:获取对象焦点触发事件 先做样式.点击回复之后,定位到输入框, ...

  2. 富文本编辑器 KindEditor 的基本使用 文件上传 图片上传

    富文本编辑器 KindEditor 富文本编辑器,Rich Text Editor , 简称 RTE , 它提供类似于 Microsoft Word 的编辑功能. 常用的富文本编辑器: KindEdi ...

  3. 富文本编辑器kindeditor配置

    <!--富文本编辑器kindeditor配置↓ --> <link type="text/css" rel="stylesheet" href ...

  4. easyUI整合富文本编辑器KindEditor详细教程(附源码)

    原因 在今年4月份的时候写过一篇关于easyui整合UEditor的文章Spring+SpringMVC+MyBatis+easyUI整合优化篇(六)easyUI与富文本编辑器UEditor整合,从那 ...

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

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

  6. JAVAEE——宜立方商城04:图片服务器FastDFS、富文本编辑器KindEditor、商品添加功能完成

    1. 学习计划 1.图片上传 a) 图片服务器FastDFS b) 图片上传功能实现 2.富文本编辑器的使用KindEditor 3.商品添加功能完成 2. 图片服务器的安装 1.存储空间可扩展. 2 ...

  7. django-应用中和amdin使用富文本编辑器kindeditor

    文章描述.新闻详情和产品介绍等,都需要大量的文字描述信息或图片.视频.文字的编辑等,这个时候我们就需要介绍第三方富文本编辑器. 今天介绍的是django中绑定和应用kindeditor编辑器: 效果如 ...

  8. Django配置富文本编辑器kindeditor

    一.简介 django是一个容易快速上手的web框架,用它来创建内容驱动型的网站(比如独立博客)十分方便.遗憾的是,django并没有提供官方的富文本编辑器,而后者恰好是内容型网站后台管理中不可或缺的 ...

  9. Unix及类Unix系统文本编辑器的介绍

    概述 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是纯粹的自由软件. Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Em ...

随机推荐

  1. C语言的AT指令

    今天跟人聊嵌入式,对面是某国际硬盘生产商的嵌入式软件工程师,问了我很简单的问题,如何快速将一个变量赋给某个特定的地址. 按我们思路就是unsigned *a = address1:  *a = add ...

  2. Classnotfoundexception 与 noClassDelfaultError的区别

    ClassNotFoundException 这个异常特别常见,就是class找不到异常,一般的问题就是: 1 调用class的forName方法时,找不到指定的类 2 ClassLoader 中的 ...

  3. 嵌入式C语言编译器

    GCC与gcc: 初识编译器: 扩展问题: 如何理解“多语言混合开发”? 参考: 狄泰软件学院唐佐林视频教程

  4. 输入一个正整数n,计算出[0,n]这些整数中的二进制数没有连续3个1的数字有多少

    输入一个正整数n,计算出[0,n]这些整数中的二进制数没有连续3个1的数字有多少? 例子:输入数字9,则输出结果位9.因为[0-9]中,只有数字7有连续的三个‘1’出现,别的都没有,所以一共有9个数字 ...

  5. 2018-2019-2 网络对抗技术 20165228 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165228 Exp4 恶意代码分析 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪 ...

  6. oracle追加表空间

    ----查询表空间使用情况--- SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)&q ...

  7. es6学习笔记-Proxy、Reflect、Promise

    Proxy Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程. Proxy 可以理解成,在目标对象之前 ...

  8. JDBCTM中Statement接口提供的execute、executeQuery和executeUpdate之间的区别

    Statement 接口提供了三种执行 SQL 语句的方法:executeQuery.executeUpdate 和 execute.使用哪一个方法由 SQL 语句所产生的内容决定. 方法execut ...

  9. 关于java的跨平台特性

    Write once, compile anywhere,“一次编译,到处运行”的著名口号大家想必都听说过吧一次编译:把java代码(.java文件)通过编译器转换成字节码(.class文件)(符合j ...

  10. 学习笔记CB001:NLTK库、语料库、词概率、双连词、词典

    聊天机器人知识主要是自然语言处理.包括语言分析和理解.语言生成.机器学习.人机对话.信息检索.信息传输与信息存储.文本分类.自动文摘.数学方法.语言资源.系统评测. NLTK库安装,pip insta ...