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使用7z解压软件备份文件脚本分享
Feb 21 Python
python使用urlparse分析网址中域名的方法
Apr 15 Python
Python+Wordpress制作小说站
Apr 14 Python
python学生管理系统代码实现
Apr 05 Python
python用for循环求和的方法总结
Jul 08 Python
python中@property和property函数常见使用方法示例
Oct 21 Python
详解Python的三种拷贝方式
Feb 11 Python
Python中and和or如何使用
May 28 Python
解决tensorflow读取本地MNITS_data失败的原因
Jun 22 Python
如何利用python检测图片是否包含二维码
Oct 15 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
Dec 03 Python
python 实现定时任务的四种方式
Apr 01 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 screw加密php源代码
2013/06/20 PHP
PHP文件缓存内容保存格式实例分析
2014/08/20 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
2017/05/26 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
JavaScript限定复选框的选择个数示例代码
2013/08/25 Javascript
Javascript堆排序算法详解
2014/12/03 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
JS实现兼容火狐及IE iframe onload属性的遮罩层隐藏及显示效果
2016/08/23 Javascript
JS 实现计算器详解及实例代码(一)
2017/01/08 Javascript
详解Nodejs之静态资源处理
2017/06/05 NodeJs
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
从零开始实现Vue简单的Toast插件
2018/12/03 Javascript
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
Vue路由管理器Vue-router的使用方法详解
2020/02/05 Javascript
JavaScript实现通讯录功能
2020/12/27 Javascript
使用python3.5仿微软记事本notepad
2016/06/15 Python
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
Python升级导致yum、pip报错的解决方法
2017/09/06 Python
python实现监控某个服务 服务崩溃即发送邮件报告
2018/06/21 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
Python内置方法和属性应用:反射和单例(推荐)
2020/06/19 Python
浅析Python中字符串的intern机制
2020/10/03 Python
HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影
2014/03/07 HTML / CSS
幼儿园家长会欢迎词
2014/01/09 职场文书
酒店大堂副理的职责范文
2014/02/13 职场文书
消费者投诉书范文
2015/07/02 职场文书
Hive常用日期格式转换语法
2022/06/25 数据库