zoukankan      html  css  js  c++  java
  • Django配置富文本编辑器kindeditor

    一.简介      

          django是一个容易快速上手的web框架,用它来创建内容驱动型的网站(比如独立博客)十分方便。遗憾的是,django并没有提供官方的富文本编辑器,而后者恰好是内容型网站后台管理中不可或缺的控件。常见的富文本编辑器有ckeditor,ueditor,kindeditor,tinmce...

          KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框。 KindEditor 使用 JavaScript 编写,可以无缝地与 Java、.NET、PHP、ASP 等程序集成,比较适合在 CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用。


    二. django-admin中添加富文本编辑器的几种方式
    • 使用第三方库,如django-ckeditor
    • 在admin中定义富文本编辑器的widget
    • 通过定义ModelAdmin的媒体文件

           本文采用第三方库的方法。

    三.具体步骤

        1.下载kindeditor

            解压后,将文件夹放在 yourproject/static/js 目录下:D:log_projectstaticjskindeditor-4.1.10

            kindeditor-4.1.10中提供了许多关于asp,jsp,php的demo,因为使用python,这些文件用不到可以删掉。

        2.定义ModelAdmin的媒体文件

    admin.py:

    class
    ArticleAdmin(admin.ModelAdmin): list_display = ('title', 'desc', 'date_publish', 'category') search_fields = ('click_count', 'tag') class Media: js = ( '/static/js/kindeditor-4.1.10/kindeditor-min.js', '/static/js/kindeditor-4.1.10/lang/zh_CN.js', '/static/js/kindeditor-4.1.10/config.js', # 配置文件,这个需要自己实现 )

    admin.site.register(content) # 注册models.py中定义的模型 admin.site.register(Article, ArticleAdmin)

              目前还没有实现富文本,因为无法获知在何处实现此功能。需配置config.jsconfig.js文件,在需要显示编辑器的位置添加textarea输入框。

        3.修改kindeditor的配置文件

       在D:log_projectstaticjskindeditor-4.1.10下创建config.js文件,写入以下js代码:

     KindEditor.ready(function(K) {
                         K.create('textarea[name=content]',{
                             '800px',  
                             height:'200px',
                         });
     });

    注意 textarea[name=content]  没有这一句也无法显示,因为,解析网页源代码:指定文章内容对应的html代码为 id = "id_content",和name = "content"。所以用代码 textarea[name=content]来确定我i们需要利用富文本编辑的区域。

    final:

  • 相关阅读:
    Linux input子系统学习总结(一)---- 三个重要的结构体
    DRM/KMS 基本组件介绍
    Framebuffer 驱动学习总结(二)---- Framebuffer模块初始化
    Framebuffer 驱动学习总结(一) ---- 总体架构及关键结构体
    Linux USB驱动学习总结(三)---- USB鼠标的加载、初始化和通信过程
    Linux USB驱动学习总结(一)---- USB基本概念及驱动架构
    使用Python调用动态库
    使用 SignalR与SSE(Sever sent event)向客户端推送提示信息
    在IDEA下使用Spring Boot的热加载(Hotswap)
    使用Spring boot + jQuery上传文件(kotlin)
  • 原文地址:https://www.cnblogs.com/king-lps/p/7295562.html
Copyright © 2011-2022 走看看