1 修改:
Django settings.py
STATICFILES_DIRS = (
("css", os.path.join(PROJECT_PATH, 'static/css')),
("img", os.path.join(PROJECT_PATH, 'static/img')),
("js", os.path.join(PROJECT_PATH, 'static/js')),
("editor", os.path.join(PROJECT_PATH, 'static/editor')),
)
2 下载kindeditor ,然后把文件放进 /static/里。如下:
ubuntu@yee:~/ndis/static$ tree -L 2
.
├── css
│ └── style.css
├── editor
│ └── kindeditor #把下载的kindeditor放进去。
├── img
└── jsubuntu@yee:~/ndis/static/editor/kindeditor$ ls
kindeditor-all.js kindeditor.js lang themes
kindeditor-all-min.js kindeditor-min.js plugins3 在项目目录下创建 rte
ubuntu@yee:~/ndis/rte$ tree
.
├── __init__.py
├── __init__.pyc
├── kindeditor
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── widgets.py
│ └── widgets.pyc
├── models.py
├── tests.py
└── views.py4 编写 rte/kindeditor/widgets.py
from django import forms
from django.conf import settings
from django.utils.safestring import mark_safe
from django.template.loader import render_to_string
from django.template import RequestContext
from django.utils.translation import ugettext_lazy as _
class KindEditor(forms.Textarea):
class Media:
css = {
'all': ( settings.STATIC_URL + 'editor/kindeditor/themes/default/default.css',
settings.STATIC_URL + 'editor/kindeditor/plugins/code/prettify.js',),
}
js = (
"%seditor/kindeditor/kindeditor.js" % settings.STATIC_URL,
settings.STATIC_URL + 'editor/kindeditor/plugins/code/prettify.js',
)
def __init__(self, attrs = {}):
#attrs['style'] = "width:800px;height:400px;visibility:hidden;"
super(KindEditor, self).__init__(attrs)
def render(self, name, value, attrs=None):
rendered = super(KindEditor, self).render(name, value, attrs)
context = {
'name': name,
'STATIC_URL':settings.STATIC_URL,
}
return rendered + mark_safe(render_to_string('editor/kindeditor.html', context))5 editor/kindeditor.html
<script type="text/javascript">
var editor ; //定义为全局变量,这点很重要
KindEditor.ready(function(K) {
var options = {
cssPath : ('{{STATIC_URL}}editor/kindeditor/themes/default/default.css',
'{{STATIC_URL}}editor/kindeditor/plugins/code/prettify.css'),
width : '680px',
height : '400px',
filterMode : true
};
editor = K.create('textarea[name="content"]', options);
});
</script>
6 forms.py
from rte.kindeditor.widgets import KindEditor
content = forms.CharField( widget=KindEditor(attrs={'rows':15, 'cols':100}))7 引入 js 文件
<script charset="utf-8" src="{{ STATIC_URL }}editor/kindeditor/kindeditor.js"></script> 如果你用的是ajax来提交数据,要如下 :
$("#post_answer_form").submit(function(){
editor.sync(); //仔细看kindeditor文档 ,上面说明了默认在遇到 onsubmit事件时,会将iframe中的数据传输到你的textarea中,所以我们想要获取数据之前,最好是手工同步一下。我就遇到这个问题,需要提交两次才能拿到数据 。
var data = $(this).serialize();
分享到:
相关推荐
**PyPI 官网下载 | django-kindeditor-0.2.0.tar.gz** 在Python的世界里,`PyPI`(Python Package Index)是官方的第三方软件包仓库,它为Python开发者提供了一个集中发布和发现模块的地方。`django-kindeditor-0.2.0...
本文将重点介绍如何在Python的Web框架Django中集成一个流行的开源富文本编辑器——KindEditor。通过本篇指南,开发者可以将传统的多行文本输入框(textarea)升级为具有强大编辑功能的KindEditor。 ### 什么是...
标题"django整合mysql实现对外提供接口"指出我们将讨论如何在Django框架下集成MySQL数据库,并创建一个能够对外提供服务的API接口。Django是Python的一个流行Web开发框架,而MySQL则是一种广泛应用的关系型数据库...
**Django整合ExtJS源码解析** 在Web开发领域,Django作为一个强大的Python Web框架,以其高效、安全和可扩展性而备受青睐。与此同时,ExtJS是一个JavaScript库,用于构建富客户端应用程序,提供了丰富的组件和数据...
django整合jinja与sqlalchemy
**标题:“Django1.6与ExtJS4整合”** **描述:** 本文将深入探讨如何将Django 1.6这一Python的Web框架与ExtJS 4这一强大的JavaScript前端框架进行集成,以构建功能丰富的Web应用。Django以其优秀的MVT(Model-View...
在IT行业中,构建高效的数据采集系统常常涉及到多个框架的整合使用。本篇文章将详细探讨如何将两个强大的Python库——Django和Scrapy结合,以实现通过Django的Web界面控制Scrapy爬虫的运行,并将爬取的数据存入...
### 详解 Django + Django-Celery + Celery 的整合实战 #### 一、Celery简介与功能概述 Celery 是一款强大的分布式任务队列系统,主要用于处理大量的后台任务,包括但不限于异步任务处理和定时任务调度。其核心...
**Python-django-bootstrap3** 是一个专门为 Django 框架设计的库,它使得在 Django 项目中集成和使用 Bootstrap 3 前端框架变得简单而高效。Bootstrap 是一个流行的开源工具包,用于快速构建响应式和移动优先的网站...
django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django...
Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django...
Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统...
基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django...
基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于...
Django是Python编程语言中的一款强大且流行的Web框架,它以“快速开发”和“约定优于配置”的理念为核心,让开发者能够高效地构建高质量的Web应用程序。本笔记将深入探讨Django的基础概念、核心功能以及实际应用。 ...
Django+Vue3.2+ElementPlus+TypeScript开发的在线考试系统源码 Django+Vue3.2+ElementPlus+TypeScript开发的在线考试系统源码 Django+Vue3.2+ElementPlus+TypeScript开发的在线考试系统源码 Django+Vue3.2+...
前几天写的django 简易博客开发记录,贴个链接吧 django 简易博客开发 1 安装、创建、配置、admin使用 http://www.cnblogs.com/cacique/archive/2012/09/29/2707976.html django 简易博客开发 2 模板和数据查询 ...
django4最新中文文档+适合python初学或者初次接触django4的开发者 从事Python编程工作的人员,一定听说过这三个框架:Django、Flask、Tornado,它们就像神一样的存在 Django是最有代表性的一种。许多成功的网站和APP...
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'detection' ] ...