Django-通过xadmin,数据库写入富文本字段类型

1.pip install Djangoueditor

2.settings.py中添加app:

#富文本编辑
'DjangoUeditor'
3.配置主urls.py:

# 富文本相关url
url(r'^ueditor/', include('DjangoUeditor.utils')),
4.在models.py中使用:

#富文本字段
from DjangoUeditor.models import UEditorField
detail = UEditorField(verbose_name=u"课程详情",width=600, height=300, imagePath="courses/ueditor/",
                                     filePath="courses/ueditor/", default='')
5.xadmin/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 = '' % (settings.STATIC_URL + "ueditor/ueditor.config.js")         #自己的静态目录
        js += '' % (settings.STATIC_URL + "ueditor/ueditor.all.min.js")   #自己的静态目录
        nodes.append(js)

xadmin.site.register_plugin(UeditorPlugin, UpdateAdminView)
xadmin.site.register_plugin(UeditorPlugin, CreateAdminView)
6.对应的xadmin.py中:

# 富文本显示
style_fields = {'detail':'ueditor'}

7.xadmin/plugins/__init__.py中加入插件.

最后:Python3用ueditor会有bug。最后没成功


你可能感兴趣的:(python,Django)