本文实例讲述了Django框架使用富文本编辑器Uedit的方法。分享给大家供大家参考,具体如下:
Uedit是百度一款非常好用的富文本编辑器
一、安装及基本配置
官方GitHub(有详细的安装使用教程):https://github.com/zhangfisher/DjangoUeditor
1. settings.py
1
2
3
4
5
|
INSTALLED_APPS = [
...
'DjangoUeditor' ,
...
]
|
2. 配置urls
1
2
3
4
5
|
from django.conf.urls import url, include
urlpatterns = [
# 富文本相关url
url(r '^ueditor/' , include( 'DjangoUeditor.urls' )),
]
|
3. 字段信息
在需要使用富文本的字段所在的models.py中
1
2
3
4
5
6
|
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的类中,添加
1
2
3
4
|
# 这样就指定了course的detail字段使用ueditor富文本编辑器
class ArticlesAdmin( object ):
...
style_fields = { "content" : "ueditor" }
|
二、Ueditor插件制作
1. 插件代码
在extra_apps.xadmin.plugins中新建ueditor.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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中添加
1
2
3
4
|
PLUGINS = (
...
'ueditor' ,
)
|
友情提醒
在Django中使用富文本编辑器
在HTML页面中,Django处于安全考虑,将文本内容默认转义,我们需要关闭
来正常输出我们的文章
1
2
3
|
{ % autoescape off % }
{{ article.abstract }}
{ % endautoescape % }
|
记录一下,空格的转义字符分为如下几种:
1. &160#;不断行的空白(1个字符宽度)
2.  &8194#;半个空白(1个字符宽度)
3.  &8195#;一个空白(2个字符宽度)
4.  &8201#;窄空白(小于1个字符宽度)
平时一般用的是 但是在中文中也许有时候更适合用 
希望本文所述对大家基于Django框架的Python程序设计有所帮助。
原文链接:https://www.cnblogs.com/wongbingming/p/7117957.html