1、安装
安装DjangoUeditor
1)去GitHub上面下载djangoueditor源码包(https://github.com/twz915/DjangoUeditor3)
然后进入源码的setup.py所在目录,执行pyton setup.py install安装。
2)直接通过pip命令安装
pip install DjangoUeditor
然后将DjangoUeditor放到settings文件的INSTALLED_APPS中
2、配置url
url(r"^ueditor/", include(DjangoUeditor.urls))
3、在model中使用
from DjangoUeditor.models import UEditorField
field = UEditorField(verbose_name = "", width=200, height=300, imagepath="", filepath="", default="", toolbar=[[]])
常用参数说明:
verbose_name:字段显示名
width/height:富文本宽高
imagepath/filepath:图片/文件存储相对路径(相对settings中配置的MEDIA_ROOT)
toolbar:工具栏上的功能按钮,注意这里的toolbar是嵌套的列表
4、准备工作都做好了,接下来需要在xadmin中集成调用,集成方法:
在xadmin--->plugin中新建ueditor.py(名字自定义),内容如下:
import xadmin
from xadmin.views import BaseAdminPlugin, CreateAdminView, 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):
# 识别xadmin中的style_field
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 # 在生成的页面中加入自己的js文件
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)
然后在xadmin--->plugin--->__init__.py文件的PLUGINS中加入我们自定义的插件ueditor
这样就完成了ueditor在xadmin中的集成
最后,在注册modelXadmin的中,加入style_fields={"字段名":"ueditor"}