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 获取文件列表(或是目录例表)
Mar 25 Python
在Python的Django框架中生成CSV文件的方法
Jul 22 Python
Python使用pygame模块编写俄罗斯方块游戏的代码实例
Dec 08 Python
使用Python设计一个代码统计工具
Apr 04 Python
python邮件发送smtplib使用详解
Jun 16 Python
python pandas 对series和dataframe的重置索引reindex方法
Jun 07 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
Django+Xadmin构建项目的方法步骤
Mar 06 Python
python实现udp聊天窗口
Mar 31 Python
Python数据库封装实现代码示例解析
Sep 05 Python
python绘制趋势图的示例
Sep 17 Python
Python 高级库15 个让新手爱不释手(推荐)
May 15 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处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
PHP yield关键字功能与用法分析
2019/01/03 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
2012/02/23 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
js和C# 时间日期格式转换的简单实例
2016/05/28 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
JavaScript获取URL参数的方法之一
2017/03/24 Javascript
详解JavaScript数组过滤相同元素的5种方法
2017/05/23 Javascript
详解nodeJS之二进制buffer对象
2017/06/03 NodeJs
jQuery中ajax请求后台返回json数据并渲染HTML的方法
2018/08/08 jQuery
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
2018/08/27 Javascript
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
2019/05/30 NodeJs
Python中属性和描述符的正确使用
2016/08/23 Python
python实现list由于numpy array的转换
2018/04/04 Python
Python 批量刷博客园访问量脚本过程解析
2019/08/30 Python
详解python播放音频的三种方法
2019/09/23 Python
pygame实现烟雨蒙蒙下彩虹雨
2019/11/11 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
如何在python中判断变量的类型
2020/07/29 Python
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
SQL Server面试题
2016/10/17 面试题
食堂员工工作职责
2013/12/18 职场文书
老师对学生的寄语
2014/04/09 职场文书
师德师风演讲稿
2014/05/05 职场文书
2014年幼儿园教学工作总结
2014/12/04 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书
python3.7.2 tkinter entry框限定输入数字的操作
2021/05/22 Python
python基于机器学习预测股票交易信号
2021/05/25 Python
Python各协议下socket黏包问题原理
2022/04/12 Python