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中的__getitem__专有方法
Jun 27 Python
Python设计足球联赛赛程表程序的思路与简单实现示例
Jun 28 Python
Python实现简单过滤文本段的方法
May 24 Python
Python实现简单网页图片抓取完整代码实例
Dec 15 Python
python基于物品协同过滤算法实现代码
May 31 Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 Python
把django中admin后台界面的英文修改为中文显示的方法
Jul 26 Python
Python 生成一个从0到n个数字的列表4种方法小结
Nov 28 Python
python 实现turtle画图并导出图片格式的文件
Dec 07 Python
OpenCV Python实现拼图小游戏
Mar 23 Python
Python reduce函数作用及实例解析
May 08 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
Mar 03 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基础学习笔记
2007/03/18 PHP
ajax php 实现写入数据库
2009/09/02 PHP
Array of country list in PHP with Zend Framework
2011/10/17 PHP
PHP实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
PHP如何获取当前主机、域名、网址、路径、端口等参数
2017/06/09 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
2010/09/10 Javascript
jquery定时滑出可最小化的底部提示层特效代码
2013/10/02 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
javascript实现滑动解锁功能
2014/12/31 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
2018/03/14 Javascript
React styled-components设置组件属性的方法
2018/08/07 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
基于javascript的拖拽类封装详解
2019/04/19 Javascript
详解小程序开发经验:多页面数据同步
2019/05/18 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
JavaScript实现图片合成下载的示例
2020/11/19 Javascript
Python lxml模块安装教程
2015/06/02 Python
python调用外部程序的实操步骤
2019/03/04 Python
seek引发的python文件读写的问题及解决
2019/07/26 Python
调用其他python脚本文件里面的类和方法过程解析
2019/11/15 Python
python 实现aes256加密
2020/11/27 Python
使用jquery实现HTML5响应式导航菜单教程
2014/04/02 HTML / CSS
苹果Mac升级:MacSales.com
2017/11/20 全球购物
澳大利亚领先的亚麻品牌:Bed Threads
2019/12/16 全球购物
儿科护理实习自我鉴定
2013/09/19 职场文书
品质主管岗位职责
2014/03/16 职场文书
希特勒经典演讲稿
2014/05/19 职场文书
讲党性心得体会
2014/09/03 职场文书
长城英文导游词
2015/01/30 职场文书
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android