zoukankan      html  css  js  c++  java
  • xadmin和富文本编辑器的使用

    安装django-xadmin:

    官方网站:http://x.xuebingsi.com/

    官方下载:https://xadmin.readthedocs.io/en/docs-chinese/

    安装xadmin:pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2

     

    一.xadmin的使用。

    xadmin相对于admin,将后台用户界面增加了更多功能,而且界面也会更美观。所以以前admin的一些配置也需要做些改变

    1.在settings.py中注册

    INSTALLED_APPS = [
      'django.contrib.admin',
      'django.contrib.auth',
      'django.contrib.contenttypes',
      'django.contrib.sessions',
      'django.contrib.messages',
      'django.contrib.staticfiles',
      'xadmin',
      'crispy_forms',
      'reversion',
    ]

    2.将以前的admin修改为adminx 然后引入xadmin

    import xadmin
    from xadmin import views

    3.可以用xadmin里内置好了的配置:

    enable_themes = True                      #切换xadmin主题
    use_bootswatch = True                     #切换主题,和enable_themes一起用。
    site_title = '在线教育后台管理系统'          #设置页面标题
    site_footer = 'Powered by lcl  -2020'     #设置页脚
    menu_style = 'accordion'                  #设置菜单栏收缩
    model_icon='图片的代码':          #设置图片,图片都会存放在http://www.fontawesome.com.cn/官方网站里
    ordering=['date_joined']        #排序
    readonly_fields=['nick_name']   #只读字段
    exclude=['date_joined']            #不显示字段
    list_editable = ['mobile']       #直接编辑,
    refresh_times = [3,5]          #设置自动刷新,时间可以自己定义
     

     

     

    二.富文本编辑器ueditor的安装使用

    1. 下载压缩包:https://github.com/twz915/DjangoUeditor3/

    2. 解压文件,将DjangoUeditor文件放到主文件下。

    3. 修改源码:虚拟环境====》Lib====》site-packages====》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 = '<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)
    4. 在xadmin/plugins/init.py里添加ueditor插件。(注意逗号)

      PLUGINS = (
        'ueditor',
      )
    5. 在adminx.py里使用

      在需要用的类下。
      #address就是要显示为富文本的字段名
      style_fields = {"address": "ueditor"}
    6. 在settings里注册DjangoUeditor

      INSTALLED_APPS = [
        'DjangoUeditor',
      ]
  • 相关阅读:
    The Quad
    将OrCAD Capture CIS的设计文件(.dsn)导入到PADS Logic VX.2.3
    OrCAD Capture CIS 16.6 将版本16.6的设计文件另存为版本16.2的设计文件
    Eclipse IDE 添加jar包到Java工程中
    PADS Logic VX.2.3 修改软件界面语言
    切换Allegro PCB Editor
    Allegro PCB Design GXL (legacy) 将brd文件另存为低版本文件
    Allegro PCB Design GXL (legacy) 设置自动保存brd文件
    Could not create an acl object: Role '16'
    windows 下apache开启FastCGI
  • 原文地址:https://www.cnblogs.com/nihao2/p/13922389.html
Copyright © 2011-2022 走看看