django 富文本的创建

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, 此部分代码

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 利用HTTP协议向服务器传参的几种途径、响应、Cookie、Session、类视图、中间件 注意: 1>Dja...
    Cestine阅读 1,384评论 0 2
  • 偶然的机会朋友把我拉入了写诗群,这个群也堪壮观,接近五百人。我原本打算做个串客,打个酱油什么的。因为自己不具备写诗...
    神呼吸阅读 329评论 8 5
  • 街头站台,安静的等车。 思绪飞飞。。。。。。 对面过来一对情侣悄然相向站定,低头絮语,我看不到女孩的表情,只见男孩...
    羚羊拐弯阅读 213评论 0 0
  • 前天开始重启跑步,跑了1.3公里。昨天早上趁热打铁跑了1.6公里。今天事情比较多,一度担心要错过跑步的机会了,但终...
    子轩新传阅读 266评论 0 2
  • 用户体验要素:以用户为中心的产品设计》是AJAX之父Jesse James Garrett的经典之作。全书共8章,...
    黄小五阅读 768评论 0 7