zoukankan      html  css  js  c++  java
  • xadmin集成DjangoUeditor

    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"}

      

  • 相关阅读:
    Github账户注册的过程
    目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点?
    作业二:四则运算
    学习进度
    对构建之法的一些问题
    个人介绍
    对《软件工程》课程的总结
    作业八 更新版
    作业八
    冲刺总结博客
  • 原文地址:https://www.cnblogs.com/fiona-zhong/p/10233697.html
Copyright © 2011-2022 走看看