Django框架使用富文本编辑器Uedit的方法分析
框架(架构) / 管理员 发布于 7年前 180
本文实例讲述了Django框架使用富文本编辑器Uedit的方法。分享给大家供大家参考,具体如下:
Uedit是百度一款非常好用的富文本编辑器
一、安装及基本配置
官方GitHub(有详细的安装使用教程):https://github.com/zhangfisher/DjangoUeditor
1. settings.py
INSTALLED_APPS = [ ... 'DjangoUeditor', ...]
2. 配置urls
from django.conf.urls import url, includeurlpatterns = [# 富文本相关url url(r'^ueditor/', include('DjangoUeditor.urls')),]
3. 字段信息
在需要使用富文本的字段所在的models.py中
from DjangoUeditor.models import UEditorFieldclass 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 xadminfrom xadmin.views import BaseAdminPlugin, CreateAdminView, ModelFormAdminView, UpdateAdminViewfrom DjangoUeditor.models import UEditorFieldfrom DjangoUeditor.widgets import UEditorWidgetfrom django.conf import settingsclass 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="https:/article/%s"></script>' % (settings.STATIC_URL + "ueditor/ueditor.config.js") js += '<script type="text/javascript" src="https:/article/%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程序设计有所帮助。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号