Django添加KindEditor富文本编辑器的使用


Posted in Python onOctober 24, 2018

KindEditor简介:

KindEditor是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框。

KindEditor使用JavaScript编写,可以无缝地与 Java、.NET、PHP、ASP 等程序集成,比较适合在 CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用。

在Django Admin当中加入KindEditor,这比干巴巴的textarea好多了。加入之后的效果如下:

1、设置static文件路径

KindEditor是用JavaScript编写的,这属于static files,因此需要为Django设置static路径。

首先在工程目录下新建static文件夹,这里要注意的是千万不要在my_app/下创建static文件夹作为static文件存放的目录, 这会导致Django无法搜索到自己的static 文件。

创建后好,在settings中配置static文件目录。添加以下代码

STATIC_URL = '/static/'
STATICFILES_DIRS = (
 os.path.join(BASE_DIR, 'static'),
)

2、下载KindEditor

下载KindEditor, 解压后将那些没用的asp, asp.NET, php, jsp, examples文件该删掉后拷贝到static目录下,由于KindEditor是js文件有事编辑器,所以就设置了js/editor目录,并将KindEditor代码拷贝到该目录下。

就像这样子static/js/editor/kindeditor-4.1.7

3、在admin后台管理当中的html页面加入JavaScript代码

在kindeditor-4.1.7目录下新建config.js文件,内容如下:

KindEditor.ready(function(K) {
 window.editor = K.create('#id_content',{
  // 指定大小
  width:'800px',
  height:'200px',
 });
});

4、在admin.py中的的管理类中添加class Media,引入js文件

这里是一个完整的admin.py示例

备注:class 一定要在admin.site.register前面,不然程序会报错,显示没有define

from django.contrib import admin
from .models import category,tags,article
# Register your models here.
class articleAdmin(admin.ModelAdmin):
 list_display = ('id','title','create_time','change_time','type') #添加字段显示
 search_fields = ('title') #添加快速查询栏
 class Media:
  # 在管理后台的HTML文件中加入js文件, 每一个路径都会追加STATIC_URL/
  js = (
   '/static/js/editor/kindeditor-4.1.7/kindeditor-all.js',
   '/static/js/editor/kindeditor-4.1.7/lang/zh_CN.js',
   '/static/js/editor/kindeditor-4.1.7/config.js',
  )
admin.site.register(category)
admin.site.register(tags)
admin.site.register(article,articleAdmin)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
跟老齐学Python之做一个小游戏
Sep 28 Python
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
May 20 Python
Python利用Beautiful Soup模块创建对象详解
Mar 27 Python
Python中index()和seek()的用法(详解)
Apr 27 Python
Django中Model的使用方法教程
Mar 07 Python
Django中url的反向查询的方法
Mar 14 Python
详解重置Django migration的常见方式
Feb 15 Python
pandas 层次化索引的实现方法
Jul 06 Python
python画微信表情符的实例代码
Oct 09 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
Feb 28 Python
Django admin管理工具TabularInline类用法详解
May 14 Python
python mock测试的示例
Oct 19 Python
Django使用paginator插件实现翻页功能的实例
Oct 24 #Python
Python将8位的图片转为24位的图片实现方法
Oct 24 #Python
Python SMTP发送邮件遇到的一些问题及解决办法
Oct 24 #Python
使用PyCharm创建Django项目及基本配置详解
Oct 24 #Python
python实现在图片上画特定大小角度矩形框
Oct 24 #Python
python多进程使用及线程池的使用方法代码详解
Oct 24 #Python
python实现图片筛选程序
Oct 24 #Python
You might like
php 设计模式之 单例模式
2008/12/19 PHP
Yii学习总结之安装配置
2015/02/22 PHP
php程序内部post数据的方法
2015/03/31 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
jquery的键盘事件修改代码
2011/02/24 Javascript
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
JavaScript去除空格的三种方法(正则/传参函数/trim)
2013/02/06 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
js拆分字符串并将分割的数据放到数组中的方法
2015/05/06 Javascript
JS实现黑色大气的二级导航菜单效果
2015/09/18 Javascript
Vue.js表单控件实践
2016/10/27 Javascript
浅析bootstrap原理及优缺点
2017/03/19 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
koa源码中promise的解读
2018/11/13 Javascript
jQuery实现表格的增、删、改操作示例
2019/01/27 jQuery
基于Webpack4和React hooks搭建项目的方法
2019/02/05 Javascript
微信小程序登录session的使用
2019/03/17 Javascript
基于layui轮播图满屏是高度自适应的解决方法
2019/09/16 Javascript
jquery ajax 请求小技巧实例分析
2019/11/11 jQuery
微信公众号服务器验证Token步骤图解
2019/12/30 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
vuex的使用步骤
2021/01/06 Vue.js
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
邀请函样本
2015/02/02 职场文书
卫生保健工作总结2015
2015/05/18 职场文书
安全教育观后感
2015/06/17 职场文书
入党宣誓大会后的感想
2015/08/10 职场文书
SpringBoot中获取profile的方法详解
2022/04/08 Java/Android
python+opencv实现目标跟踪过程
2022/06/21 Python