Django-11-xadmin安装及配置

作者: JOooo_ | 来源:发表于2018-08-03 14:16 被阅读7次

    xadmin是Django后台管理系统admin的一个替换方案,xadmin对admin做了一些扩展。界面上有些操作会更方便。比如xadmin自带了导出功能,可以导出excel,csv,json等格式的文档。

    这里介绍下xadmin一些简单的使用,以及常用的与admin不同的地方。

    1. 安装

    首先,我的环境是:python3.6,django2.0

    如果直接使用pip install xadmin会报错,因为这样安装默认对应的django版本是1.4的(印象中)。所以我们需要安装xadmin项目django2分支的代码。命令如下:

    pip install git+git://github.com/sshwsfc/xadmin.git@django2

    或使用https的地址安装:

    pip install git+https://github.com/sshwsfc/xadmin.git@django2

    注意,由于上述命令用到了Git工具,所以请安装Git工具后再执行上述命令(安装Git后可能需要重启电脑才能生效)。

    另外,如果上述命令行方式较慢,也可直接下载分支的代码,再安装:

    • 进入xadmin项目django2的分支
    • 点击页面上的Download ZIP,下载zip包到本地
    • 执行命令安装:pip install --cache-dir . d:\xadmin-django2.zip(请自行替换)

    2. 配置

    在Django项目中做如下配置

    1)项目setting.py配置文件中,INSTALLED_APPS中添加:

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

    2)在项目工程的根urls.py中,添加:

    import xadmin
    xadmin.autodiscover()
    
    from xadmin.plugins import xversion
    xversion.register_models()
    
    urlpatterns = [
        path(r'', xadmin.site.urls)
    ]
    

    3)创建xadmin相关的表
    配置完xadmin后,需运行一下python manage.py migrate,创建xadmin相关的数据库表。

    3. xadmin.py中注册模型

    现在替换掉原应用中的admin的内容。注释掉admin.py中的内容,然后在应用路径下新增xadmin.py文件,添加如下代码,注册Device模型(已在model.py中先创建Device模型)。

    以下代码中的显示,排序,筛选器等相关的设置都与admin中一样。

    注意:admin.py中DeviceAdmin是继承admin.ModelAdmin,而xadmin.py中需改为object。

    class DeviceAdmin(object):
        readonly_fields = ('date',)
        list_display = ['id', 'device_name', 'area_company', 'site', 'device_id', 'device_type', 'account', 'password']
        list_display_links = ('id', 'device_name',)
        ordering = ('id',)
    
         # 筛选器
       search_fields = ('area_company__name', 'site__site', 'device_name', 'device_id')  # 搜索字段
        list_filter = ('device_type', 'supplier', 'device_model', 'responsible_by')
    
    xadmin.site.register(Device, DeviceAdmin)
    

    相关文章

      网友评论

        本文标题:Django-11-xadmin安装及配置

        本文链接:https://www.haomeiwen.com/subject/jrbyvftx.html