xadmin集成DjangoUeditor,以及編輯器的視頻路徑配置

稍微講一下DjangoUeditor的配置,由於以前去找配置的時候東拼西湊的,因此本身寫一下本身一步步配置的過程。首先我是再github上去下載下來,由於是看成第三方插件集成到xadmin中,因此不用pip安裝,直接和xadmin放一個目錄就ok了。javascript

而後是在項目的設置裏面進行配置,在INSTALLED_APPS中申明DjangoUeditor的存在,
這兩步作完以後就找到xadmin的plugins目錄,在目錄下新建一個ueditor.py的文件,其中的代碼以下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-

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.min.js")   #本身的靜態目錄
        nodes.append(js)


xadmin.site.register_plugin(UeditorPlugin, UpdateAdminView)
xadmin.site.register_plugin(UeditorPlugin, CreateAdminView)
而後在同一目錄下找到__init__.py文件,在插件中申明ueditor插件的存在:
這樣就將DjangoUeditor集成到xadmin當中了,接着就是使用的過程了,在模板中針對想要使用Ueditor編輯的字段,將其設置爲UEditorField,而後進行相應的一些配置就能夠了,其中包括了視頻上傳路徑配置,只要再upload_settings中申明就能夠了:
content = UEditorField(verbose_name='內容', width=600, height=300, toolbars='full',
                           imagePath='guide/images/', filePath='', upload_settings={'imageMaxSize': 1204000,
                            'videoPathFormat': "guide/videos/%(basename)s_%(datetime)s.%(extname)s"}, default='')  
後再該app目錄的adminx.py文件中對相應字段進行申明:
class GuideWordAdmin(object):
    style_fields = {'content': 'ueditor'}

xadmin.site.register(GuideWord, GuideWordAdmin)
打開後臺,登錄以後就能夠使用富文本編輯器了。
關於上傳路徑的配置,若是但願在上傳的圖片或視頻以前加入前綴,能夠在項目的setting中進行配置,好比我想直接拿資源,可是上傳路徑是不帶有前綴的,因此資源只有一個文件路徑,而不是一個可直接使用的URL資源,加上前綴以後只要文件路徑是正確的,你就能夠在本身的服務器下面直接輸入域名查看相應文件了:
UEDITOR_SETTINGS = {
    'config': {

    },
    'upload': {
        "imageUrlPrefix": "http://127.0.0.1:8000",
        "videoUrlPrefix": "http://127.0.0.1:8000",
        "fileUrlPrefix": "http://127.0.0.1:8000",
    }
}
相關文章
相關標籤/搜索