Django xadmin安装及使用详解

一.简介

xadmin 是一个开源项目。 针对于 django admin ,页面美化程度,功能不完善 等问题 , 额外开发的一个模块。目前 xadmin 的最新版本已经是 xadmin 3.0 ,但是 xadmin 3.0 已经变成了一个纯前端项目,有兴趣的同学可以自己研究下。目前 作者已经不对 xadmin 2.0 做版本维护了,所以社区并不是很好,建议选择 其他的持续维护的开源项目。

文档:https://xadmin.readthedocs.io/en/latest/index.html

二.安装

环境:python 3.6
Django 2.2

1.通过如下命令安装xadmin的最新版,它文档里面的安装方法好久没有更新了,会导致你安装不成功,所以我们使用下面的网址进行安装

pip3 install https://codeload.github.com/sshwsfc/xadmin/zip/django2

2.在配置文件中注册如下应用

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

3.修改语言和时区

# 修改使用中文界面
LANGUAGE_CODE = 'zh-Hans'

# 修改时区
TIME_ZONE = 'Asia/Shanghai'

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

友情提示:在执行这一步时先到配置文件看一下自己当前Django版本

我的原本是Django2.2版本,安装完xadmin后自动给我升级为3.2版本,导致执行数据库迁移命令时报错

python3 manage.py makemigrations
python3 manage.py migrate

5.配置路由信息

import xadmin
xadmin.autodiscover()

# version模块自动注册需要版本控制的 Model
from xadmin.plugins import xversion
xversion.register_models()

urlpatterns = [
  path(r'xadmin/', xadmin.site.urls),
]

7.如果没有创建超级用户需要创建,我是因为已经创建了就不需要了

python3 manage.py createsuperuser

三.全局配置

import xadmin
from xadmin import views

class BaseSetting(object):
  """xadmin的基本配置"""
  enable_themes = True # 开启主题切换功能
  use_bootswatch = True # 引导控制盘(其实就是我们的左侧菜单栏)

xadmin.site.register(views.BaseAdminView, BaseSetting)

class GlobalSettings(object):
  """xadmin的全局配置"""
  site_title = "kuokay" # 设置站点标题
  site_footer = "kuokay学python" # 设置站点的页脚
  menu_style = "accordion" # 设置菜单折叠

xadmin.site.register(views.CommAdminView, GlobalSettings)

站点Model管理

xadmin可以使用的页面样式控制基本与Django原生的admin一直。

可以在models类中定义个__str__方法来定义对象显示成什么内容

  • list_display 控制列表展示的字段
  • search_fields 控制可以通过搜索框搜索的字段名称,xadmin使用的是模糊查询
  • list_filter 可以进行过滤操作的列,对于分类、性别、状态
  • ordering 默认排序的字段
  • show_detail_fields 在列表页提供快速显示详情信息
  • list_editable 在列表页可以快速直接编辑的字段
  • refresh_times 指定列表页的定时刷新
  • list_export 控制列表页导出数据的可选格式
  • show_bookmarks 控制是否显示书签功能
  • data_charts 控制显示图表的样式
  • model_icon 控制菜单的图标【图标的设置可以参考font-awesome的图标css名称】
  • readonly_fields 在编辑页面的只读字段
  • exclude 在编辑页面隐藏的字段,比如判断这个数据是否删除的delete_status字段,一般就是用来标识一下字段是不是被删除了,但是数据库中不删除

到此这篇关于Django xadmin安装及使用详解的文章就介绍到这了,更多相关Django xadmin安装使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的