Django xadmin安装及使用详解


Posted in Python onOctober 26, 2020

一.简介

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安装使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Linux中Python 环境软件包安装步骤
Mar 31 Python
linux环境下python中MySQLdb模块的安装方法
Jun 16 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
Mar 01 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
Apr 10 Python
使用python实现unix2dos和dos2unix命令的例子
Aug 13 Python
详解Django CAS 解决方案
Oct 30 Python
基于Python中的yield表达式介绍
Nov 19 Python
tensorflow 报错unitialized value的解决方法
Feb 06 Python
Jupyter notebook运行Spark+Scala教程
Apr 10 Python
Python中格式化字符串的四种实现
May 26 Python
Python自动创建Excel并获取内容
Sep 16 Python
Python机器学习实战之k-近邻算法的实现
Nov 27 Python
python实现网页录音效果
Oct 26 #Python
python实现录音功能(可随时停止录音)
Oct 26 #Python
Python用dilb提取照片上人脸的示例
Oct 26 #Python
python用tkinter实现一个gui的翻译工具
Oct 26 #Python
Docker如何部署Python项目的实现详解
Oct 26 #Python
python Gabor滤波器讲解
Oct 26 #Python
详解基于python的图像Gabor变换及特征提取
Oct 26 #Python
You might like
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
Laravel 5 学习笔记
2015/03/06 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
jquery 学习之二 属性(html()与html(val))
2010/11/25 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
2013/05/07 Javascript
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
jquery $.each() 使用小探
2013/08/23 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
Vue 样式绑定的实现方法
2019/01/15 Javascript
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
不刷新网页就能链接新的js文件方法总结
2020/03/01 Javascript
elementui实现预览图片组件二次封装
2020/12/29 Javascript
python中getattr函数使用方法 getattr实现工厂模式
2014/01/20 Python
Python实现的递归神经网络简单示例
2017/08/11 Python
python使用邻接矩阵构造图代码示例
2017/11/10 Python
python爬取个性签名的方法
2018/06/17 Python
python实现机器学习之元线性回归
2018/09/06 Python
python实现贪吃蛇游戏
2020/03/21 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
使用python脚本自动创建pip.ini配置文件代码实例
2019/09/20 Python
PyCharm更改字体和界面样式的方法步骤
2019/09/27 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
2020/09/03 Python
Canvas与图片压缩的示例代码
2017/11/28 HTML / CSS
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
医学生个人求职信范文
2013/09/24 职场文书
女大学生个人求职信
2013/12/09 职场文书
运动会表扬稿大全
2014/01/16 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
2014年家长学校工作总结
2014/11/20 职场文书
灵山大佛导游词
2015/02/04 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang