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入门之语句(if语句、while语句、for语句)
Jan 19 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
May 17 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
Apr 11 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
Jul 06 Python
Python获取系统所有进程PID及进程名称的方法示例
May 24 Python
django解决跨域请求的问题详解
Jan 20 Python
Python hexstring-list-str之间的转换方法
Jun 12 Python
代码实例讲解python3的编码问题
Jul 08 Python
Python如何批量获取文件夹的大小并保存
Mar 31 Python
python 负数取模运算实例
Jun 03 Python
Python devel安装失败问题解决方案
Jun 09 Python
python如何代码集体右移
Jul 20 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/09/25 PHP
php与paypal整合方法
2010/11/28 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
laravel 解决多库下的DB::transaction()事务失效问题
2019/10/21 PHP
javascript 面向对象编程 function也是类
2009/09/17 Javascript
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
jQuery中hasClass()方法用法实例
2015/01/06 Javascript
js实现宇宙星空背景效果的方法
2015/03/03 Javascript
简单谈谈Javascript中类型的判断
2015/10/19 Javascript
Node.js实现兼容IE789的文件上传进度条
2016/09/02 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
Angular.js跨controller实现参数传递的两种方法
2017/02/20 Javascript
Kindeditor单独调用单图上传增加预览功能的实例
2017/07/31 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
玩转Koa之核心原理分析
2018/12/29 Javascript
Vuejs通过拖动改变元素宽度实现自适应
2020/09/02 Javascript
python pdb调试方法分享
2014/01/21 Python
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
Django中使用Celery的方法示例
2018/11/29 Python
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
质检部岗位职责
2013/11/11 职场文书
国际贸易专业个人鉴定
2014/02/22 职场文书
学校爱国卫生月活动总结
2014/06/25 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
Java 语言中Object 类和System 类详解
2021/07/07 Java/Android