Django中使用富文本编辑器Uedit

Uedit是百度一款非常好用的富文本编辑器

一、安装及基本配置

官方GitHub(有详细的安装使用教程):https://github.com/zhangfisher/DjangoUeditor

1. settings.py

INSTALLED_APPS = [
    ...
    ‘DjangoUeditor‘,
    ...
]

2. 配置urls

from django.conf.urls import url, include
urlpatterns = [
#  富文本相关url
    url(r‘^ueditor/‘, include(‘DjangoUeditor.urls‘)),
]

3. 字段信息

在需要使用富文本的字段所在的models.py中

from DjangoUeditor.models import UEditorField

class Articles(models.Model):
    ...
    content = UEditorField(width=1200, height=600, imagePath="article/ueditor/",
                           filePath="article/ueditor/",verbose_name=u"文章内容")
    ...

注意,在要使用ueditor的字段所在adminx.py的类中,添加

# 这样就指定了course的detail字段使用ueditor富文本编辑器
class ArticlesAdmin(object):
    ...
    style_fields = {"content":"ueditor"}

二、Ueditor插件制作

1. 插件代码

在extra_apps.xadmin.plugins中新建ueditor.py

import xadmin
from xadmin.views import BaseAdminPlugin, CreateAdminView, ModelFormAdminView, UpdateAdminView
from DjangoUeditor.models import UEditorField
from DjangoUeditor.widgets import UEditorWidget
from django.conf import settings

class XadminUEditorWidget(UEditorWidget):
    def __init__(self, **kwargs):
        self.ueditor_options=kwargs
        self.Media.js = None
        super(XadminUEditorWidget, self).__init__(kwargs)

class UeditorPlugin(BaseAdminPlugin):
    def get_field_style(self, attrs, db_field, style, **kwargs):
        if style == ‘ueditor‘:
            if isinstance(db_field, UEditorField):
               widget = db_field.formfield().widget
               param = {}
               param.update(widget.ueditor_settings)
               param.update(widget.attrs)
               return {‘widget‘: XadminUEditorWidget(**param)}
        return attrs

    def block_extrahead(self, context, nodes):
        js = ‘<script type="text/javascript" src="%s"></script>‘ % (settings.STATIC_URL + "ueditor/ueditor.config.js")
        js += ‘<script type="text/javascript" src="%s"></script>‘ % (settings.STATIC_URL + "ueditor/ueditor.all.min.js")
        nodes.append(js)

xadmin.site.register_plugin(UeditorPlugin, UpdateAdminView)
xadmin.site.register_plugin(UeditorPlugin, CreateAdminView)

2. xadmin中注册插件

在extra_apps.xadmin.plugins.__init__.py中添加

PLUGINS = (
    ...
    ‘ueditor‘,
)
				
时间: 2024-10-15 13:13:32

Django中使用富文本编辑器Uedit的相关文章

silverlight中使用富文本编辑器

因为项目的需要在silverlight项目中使用富文本编辑器,好用的在线富文本编辑器有很多Fckeditor,百度的ueditor,但是这些富文本编辑器都是html的,想在silverlight中使用必须承载html页面再使用这些富文本编辑器. 之前找到了一个在silverliht中承载html页面的第三方控件htmlhost,但是这个控件有一个不好的地方时,用了只有silverlight项目中所有服务端控件都不能输入中文. 最近找到了一个大牛自己写的一个控件,能够满足我们的需要,自己改造之后放

在Django项目中使用富文本编辑器

1 开发要点 现在网上有很多的富文本编辑器,包括Markdown.tinymce.UEditor.KindEditor.ckeditor等等.在项目中使用这些编辑器主要有以下几个问题: 编辑页面 在HTML页面渲染编辑器: 定制编辑器的功能,比如有哪些文本样式.图片上传.代码插入: 定制编辑器的样式,指的是编辑器整体的样式,比如高度.宽度.显示位置等等: 预览内容: 获取内容: 显示页面 显示内容: 2 Django APP 下表列出一些常用的APP,它们都可以在GitHub上找的到,链接见下文

在nuxt中使用富文本编辑器quill

在nuxtjs中使用quill富文本编辑器的时候遇到了一些问题,在此记录 1.下载 npm i quill --s npm i vue-quill-editor --s 2.在plugins下面新建文件vue-quill-editor.js写入以下内容,主要是用了自定义的工具栏 import Vue from 'vue'; import VueQuillEditor from 'vue-quill-editor'; import Quill from 'vue-quill-editor/node

vue中使用富文本编辑器ueditor

参考: https://www.cnblogs.com/daimo/p/7525146.html https://blog.csdn.net/liujun03/article/details/84453287 1.下载文件包http://ueditor.baidu.com/website/download.html(我用的jsp的UTF-8版本) 2.文件包放到static下 3.  cnpm install --save vue-ueditor-wrap 4.使用 <div class="

html中使用富文本编辑器

引入kindeditor-all.js和lang/zh-CN.js KindEditor.ready(function(K) { window.editor1 = K.create('#id', { allowFileManager : true }); }); 原文地址:https://www.cnblogs.com/zhengziru/p/12074300.html

Django使用富文本编辑器

1.下载kindeditor 网址:http://kindeditor.net/demo.php2.解压到项目中 地址:\static\js\kindeditor-4.1.103.删除没用的文件 例如:example,php,asp等4.在需要使用富文本编辑器的model中定义meta类: class Media: js = ( '/static/js/kindeditor-4.1.10/kindeditor-min.js', '/static/js/kindeditor-4.1.10/lang

Django学习:使用富文本编辑器(15)

目前后台写博客的页面比较简陋,只能用来设置一些简单的文字,或者格式,而且编写不太方便.为了方便博客编写,可以使用富文本编辑器. 新增一篇文章进行测试 进入详情页,加粗效果并没有显示出来 修改详情页的模板页面blog_detail.html ----snip---- <div class='blog-content'>{{ blog.content|safe }}</div> ----snip---- 此时刷新详情页,加粗效果显示了出来. 但是在博客类型显示摘要的时候,会显示出<

Django中添加富文本编辑器

使用的是CKeditor这个模块 1.安装: pip install django-ckeditor 2.将ckeditor注册到settings.py文件中, 并添加ckeditor的url到你项目的urls.py文件中 INSTALLED_APPS = [ ... 'ckeditor' ] urlpatterns = [ ... url(r'^ckeditor/', include('ckeditor_uploader.urls')),] 3.在models.py文件中使用ckeditor的

vue使用富文本编辑器vue-quill-editor实现配合后台将图片上传至七牛

一.全局注册:main.js import Vue from 'vue' import VueQuillEditor, { Quill } from 'vue-quill-editor' import { ImageDrop } from 'quill-image-drop-module' import ImageResize from 'quill-image-resize-module' import 'quill/dist/quill.core.css' import 'quill/dis