`
wcxt2012
  • 浏览: 23651 次
  • 性别: Icon_minigender_1
  • 来自: 甘肃
社区版块
存档分类
最新评论

django 整合 kindeditor

阅读更多

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

    **PyPI 官网下载 | django-kindeditor-0.2.0.tar.gz** 在Python的世界里,`PyPI`(Python Package Index)是官方的第三方软件包仓库,它为Python开发者提供了一个集中发布和发现模块的地方。`django-kindeditor-0.2.0...

    Django添加KindEditor富文本编辑器的使用

    本文将重点介绍如何在Python的Web框架Django中集成一个流行的开源富文本编辑器——KindEditor。通过本篇指南,开发者可以将传统的多行文本输入框(textarea)升级为具有强大编辑功能的KindEditor。 ### 什么是...

    django整合mysql实现对外提供接口

    标题"django整合mysql实现对外提供接口"指出我们将讨论如何在Django框架下集成MySQL数据库,并创建一个能够对外提供服务的API接口。Django是Python的一个流行Web开发框架,而MySQL则是一种广泛应用的关系型数据库...

    Django整合Extjs源码

    **Django整合ExtJS源码解析** 在Web开发领域,Django作为一个强大的Python Web框架,以其高效、安全和可扩展性而备受青睐。与此同时,ExtJS是一个JavaScript库,用于构建富客户端应用程序,提供了丰富的组件和数据...

    django整合jinja与sqlalchem

    django整合jinja与sqlalchemy

    Django1.6与extjs4整合

    **标题:“Django1.6与ExtJS4整合”** **描述:** 本文将深入探讨如何将Django 1.6这一Python的Web框架与ExtJS 4这一强大的JavaScript前端框架进行集成,以构建功能丰富的Web应用。Django以其优秀的MVT(Model-View...

    django+scrapy结合

    在IT行业中,构建高效的数据采集系统常常涉及到多个框架的整合使用。本篇文章将详细探讨如何将两个强大的Python库——Django和Scrapy结合,以实现通过Django的Web界面控制Scrapy爬虫的运行,并将爬取的数据存入...

    详解django+django-celery+celery的整合实战

    ### 详解 Django + Django-Celery + Celery 的整合实战 #### 一、Celery简介与功能概述 Celery 是一款强大的分布式任务队列系统,主要用于处理大量的后台任务,包括但不限于异步任务处理和定时任务调度。其核心...

    Python-djangobootstrap3集成了Bootstrap3的Django

    **Python-django-bootstrap3** 是一个专门为 Django 框架设计的库,它使得在 Django 项目中集成和使用 Bootstrap 3 前端框架变得简单而高效。Bootstrap 是一个流行的开源工具包,用于快速构建响应式和移动优先的网站...

    django电子商务网站源码.zip

    django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django...

    Django实现商城网站源码.zip

    Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django...

    Django客户管理系统源码.zip

    Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统...

    基于Django的个人网盘源码.zip

    基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django...

    Python基于Django的就业系统源码.zip

    基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于...

    django笔记 django笔记

    Django是Python编程语言中的一款强大且流行的Web框架,它以“快速开发”和“约定优于配置”的理念为核心,让开发者能够高效地构建高质量的Web应用程序。本笔记将深入探讨Django的基础概念、核心功能以及实际应用。 ...

    Django+Vue3.2+ElementPlus+TypeScript开发的在线考试系统源码.zip

    Django+Vue3.2+ElementPlus+TypeScript开发的在线考试系统源码 Django+Vue3.2+ElementPlus+TypeScript开发的在线考试系统源码 Django+Vue3.2+ElementPlus+TypeScript开发的在线考试系统源码 Django+Vue3.2+...

    django项目实例(django 简易博客开发)

    前几天写的django 简易博客开发记录,贴个链接吧 django 简易博客开发 1 安装、创建、配置、admin使用 http://www.cnblogs.com/cacique/archive/2012/09/29/2707976.html django 简易博客开发 2 模板和数据查询 ...

    django4中文文档

    django4最新中文文档+适合python初学或者初次接触django4的开发者 从事Python编程工作的人员,一定听说过这三个框架:Django、Flask、Tornado,它们就像神一样的存在 Django是最有代表性的一种。许多成功的网站和APP...

    Django期末复习整合思维导图

    INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'detection' ] ...

Global site tag (gtag.js) - Google Analytics