Django框架使用富文本编辑器Uedit的方法分析

Rosine ·
更新时间:2024-11-13
· 596 次阅读

本文实例讲述了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', )

友情提醒

在Django中使用富文本编辑器

在HTML页面中,Django处于安全考虑,将文本内容默认转义,我们需要关闭

来正常输出我们的文章

{% autoescape off %} {{ article.abstract }} {% endautoescape %}

记录一下,空格的转义字符分为如下几种:

1.  &160#;不断行的空白(1个字符宽度)

2.  &8194#;半个空白(1个字符宽度)

3.  &8195#;一个空白(2个字符宽度)

4.  &8201#;窄空白(小于1个字符宽度)

平时一般用的是 但是在中文中也许有时候更适合用 

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

您可能感兴趣的文章:Django集成百度富文本编辑器uEditor攻略django轻松使用富文本编辑器CKEditor的方法Django admin美化插件suit使用示例Django自定义插件实现网站登录验证码功能对比分析Django的Q查询及AngularJS的Datatables分页插件python3.4下django集成使用xadmin后台的方法django框架如何集成celery进行开发将Django框架和遗留的Web应用集成的方法python django集成cas验证系统



富文 文本编辑 方法 Django

需要 登录 后方可回复, 如果你还没有账号请 注册新账号