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函数的笔记整理
Apr 07 Python
python fabric使用笔记
May 09 Python
Python首次安装后运行报错(0xc000007b)的解决方法
Oct 18 Python
Python格式化输出%s和%d
May 07 Python
使用python绘制3维正态分布图的方法
Dec 29 Python
使用python快速在局域网内搭建http传输文件服务的方法
Nov 14 Python
Django框架获取form表单数据方式总结
Apr 22 Python
python代码如何注释
Jun 01 Python
Keras - GPU ID 和显存占用设定步骤
Jun 22 Python
Python自省及反射原理实例详解
Jul 06 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
Oct 02 Python
numpy数据类型dtype转换实现
Apr 24 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
Ubuntu中搭建Nginx、PHP环境最简单的方法
2015/03/05 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
JavaScript中的细节分析
2012/06/30 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
2015/08/25 Javascript
轻松学习jQuery插件EasyUI EasyUI实现树形网络基本操作(2)
2015/11/30 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
Vue-Access-Control 前端用户权限控制解决方案
2017/12/01 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
2018/03/19 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
vue中,在本地缓存中读写数据的方法
2018/09/21 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
小程序的上传文件接口的注意要点解析
2019/09/17 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
linux系统使用python获取cpu信息脚本分享
2014/01/15 Python
Python中正则表达式的详细教程
2015/04/30 Python
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
django实现分页的方法
2015/05/26 Python
python解决网站的反爬虫策略总结
2016/10/26 Python
Python pandas DataFrame操作的实现代码
2019/06/21 Python
Python错误的处理方法
2020/06/23 Python
新加坡网上花店:FlowerAdvisor新加坡
2018/10/05 全球购物
一个精品风格的世界:Atterley
2019/05/01 全球购物
软件工程师面试题
2012/06/25 面试题
医科大学毕业生自荐信
2014/02/03 职场文书
政治表现评语
2014/05/04 职场文书
建筑工地宣传标语
2014/06/18 职场文书
领导干部作风建设总结
2014/10/23 职场文书
教师个人年度总结
2015/02/11 职场文书
go语言中fallthrough的用法说明
2021/05/06 Golang
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL