美文网首页
django 富文本的创建

django 富文本的创建

作者: 小朋友你是否有很多问号0 | 来源:发表于2018-12-14 18:53 被阅读0次

    https://github.com/twz915/DjangoUeditor3 下载地址

    1. 把DjangoUeditor 文件 复制到 extra_app 目录下

    2. 在settings 中 配置INSTALLED_APPS 加入'DjangoUeditor'

    3. 在urls 中 配置 path(r'ueditor/', include('DjangoUeditor.urls')),

    4. 在models 中导入 from DjangoUeditor.models import UEditorField

        detail = UEditorField(verbose_name='机构详情',

                              width=700,

                              height=600,

                              toolbars='full',

                              imagePath='ueditor/image/',

                              filePath='ueditor/files/',

                              upload_settings={'imageMaxSizing':102400},

                              default=''

                              )

    5. 在xadmin中添加 ueditor

    在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.js")  # 自己的静态目录

            nodes.append(js)

    xadmin.site.register_plugin(UeditorPlugin, UpdateAdminView)

    xadmin.site.register_plugin(UeditorPlugin, CreateAdminView)

    在 __init__文件中 注册此文件 PLUGINS 中添加 ueditor,

    6.在相应adminx 中添加

    style_fields = {'detail':'ueditor'}

    7.然后迁移数据库

    如果遇到 TypeError: render() got an unexpected keyword argument 'renderer' 问题 

    直接 注释掉            # renderer=self.form.renderer, 此部分代码

    相关文章

      网友评论

          本文标题:django 富文本的创建

          本文链接:https://www.haomeiwen.com/subject/zrfnhqtx.html