zoukankan      html  css  js  c++  java
  • 【tips】xadmin

      Django 为大家提供了一个完善的后台管理系统—admin,但是这个后台管理系统总体来说不太适合国人的习惯,所以有大神就使用 bootstrap 和 jQuery,为我们开发了一个第三 方的 Django 后台管理系统—xadmin,这个界面的友好度比较高,目前企业的使用频率比较高,我们来学习一些它的使用吧。


      一、下载安装(tips:如安装过程中出现3444错误,可在文章最后查看楼主亲测可用的解决方案):

    1、在虚拟环境下 使用 pip install 安装

      通过此命令安装,会同时安装 Xadmin 所需的依赖库:django-crispy-forms-1.6.1、django-formtools-2.0httplib2-0.9.2、以及 xadmin-0.6.1,

    pip install django-xadmin

     

      不过这种方式可能会出现编码等问题,不推荐。

    2、下载源码安装:首先下载源代码,下载地址:https://github.com/sshwsfc/xadmin

      可对源码修改,体验更新特性,推荐。

      2.1 解压缩后将名为 xadmin 的文件夹拷贝进项目根目录下,当做一个模块存在。

      

      2.2 setting 文件中配置:

    
    
    INSTALLED_APPS = [
    ...
    'xadmin',
    'crispy_forms',
    'reversion',
    ]

     

          2.3 配置主路由,取代 Django 默认的 admin::

    from django.conf.urls import url
    from django.conf.urls import include
    # from django.contrib import admin
    
    # xadmin后台管理系统主路由配置
    import xadmin
    from xadmin.plugins import xversion
    xadmin.autodiscover()
    xversion.register_models()
    
    
    urlpatterns = [
        ...
        # url(r'^admin/', admin.site.urls),    
        url(r'^xadmin/', xadmin.site.urls),
    ]

          2.4 同步数据库
          
    xadmin有建立自己的数据库模型类,需要进行数据库迁移

    python manage.py makemigrations    # 此句可以不用执行, xadmin已自动生成migrations文件
    python manage.py migrate

          2.5 创建超级用户:

    python manage.py createsuperuser

          

          2.6 大功告成, 使用超级用户准备登录(公司项目基本不会给你管理员权限,这里只做演示用)。

          

          2.7 登陆成功,访问后台,界面如下:

            如果出现错误,可以使用如下命令升级

    pip install --upgrade django-formtools

            注意,升级的过程中,如果将 Django 也升级了,如果不想升级 Django 的话,卸载了重新安装即可


      二 、 使用(后台管理)

        xadmin不再使用Django的admin.py,而是需要编写代码在adminx.py文件中。

        xadmin的站点管理类不用继承admin.ModelAdmin,而是直接继承object即可。

         站点的全局配置

    import xadmin
    from xadmin import views
    
    from . import models
    
    class BaseSetting(object):
        """xadmin的基本配置"""
        enable_themes = True  # 开启主题切换功能
        use_bootswatch = True
    
    xadmin.site.register(views.BaseAdminView, BaseSetting)
    
    class GlobalSettings(object):
        """xadmin的全局配置"""
        site_title = "xxxxxxxx"  # 设置站点标题
        site_footer = "xxxxxxx"  # 设置站点的页脚
        menu_style = "accordion"  # 设置菜单折叠
    
    xadmin.site.register(views.CommAdminView, GlobalSettings)
    View Code

         站点Model管理

    xadmin可以使用的页面样式控制基本与Django原生的admin一直。
    
        list_display 控制列表展示的字段
        search_fields 控制可以通过搜索框搜索的字段名称,xadmin使用的是模糊查询
        list_filter 可以进行过滤操作的列
        ordering 默认排序的字段
        readonly_fields 在编辑页面的只读字段
        exclude 在编辑页面隐藏的字段
        list_editable 在列表页可以快速直接编辑的字段
        show_detail_fileds 在列表页提供快速显示详情信息
        refresh_times 指定列表页的定时刷新
        list_export 控制列表页导出数据的可选格式
        show_bookmarks 控制是否显示书签功能
        data_charts 控制显示图标的样式
        model_icon 控制菜单的图标
    View Code

    最后附上一个楼主安装遇到的一个小问题和解决办法:

    问题:python3安装xadmin出现 UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 3444

    解决办法:

      1、README.rst这个文件的编码有问题,可是内容没什么重要的,可以直接到github上下载安装包,然后新建一个txt空文件,把文件名改成        README.rst,替换原来的文件。

        下载安装包,下载zip压缩文件,下载地址:

        https://github.com/sshwsfc/xadmin

      2、替换成功后,把压缩包放到一个文件夹中,在命令窗口中进入存放压缩包的文件下,执行pip命令。

      

     

      

    参考资料:

    xadmin 文档:http://xadmin.readthedocs.io/en/docs-chinese/

    xadmin 官网:http://sshwsfc.github.io/xadmin/

     

    一身污浊、自得其乐

     

        

     

     

  • 相关阅读:
    ASP.NET MVC案例——————拦截器
    Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限
    Windows Azure Storage (20) 使用Azure File实现共享文件夹
    Windows Azure HandBook (5) Azure混合云解决方案
    Windows Azure Service Bus (6) 中继(Relay On) 使用VS2013开发Service Bus Relay On
    Azure PowerShell (9) 使用PowerShell导出订阅下所有的Azure VM的Public IP和Private IP
    Windows Azure Service Bus (5) 主题(Topic) 使用VS2013开发Service Bus Topic
    Azure China (9) 在Azure China配置CDN服务
    Windows Azure Storage (19) 再谈Azure Block Blob和Page Blob
    Windows Azure HandBook (4) 分析Windows Azure如何处理Session
  • 原文地址:https://www.cnblogs.com/wqunlong/p/10211484.html
Copyright © 2011-2022 走看看