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 相关文章推荐
通过Python来使用七牛云存储的方法详解
Aug 07 Python
Python切片知识解析
Mar 06 Python
Python实现抓取网页生成Excel文件的方法示例
Aug 05 Python
Python断言assert的用法代码解析
Feb 03 Python
tensorflow识别自己手写数字
Mar 14 Python
python 实现倒排索引的方法
Dec 25 Python
在Python中os.fork()产生子进程的例子
Aug 08 Python
python基于json文件实现的gearman任务自动重启代码实例
Aug 13 Python
python 遍历pd.Series的index和value
Nov 26 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 Python
python线程池 ThreadPoolExecutor 的用法示例
Oct 10 Python
Python实现byte转integer
Jun 03 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脚本
2006/11/26 PHP
用来解析.htpasswd文件的PHP类
2012/09/05 PHP
PHP设计模式之命令模式的深入解析
2013/06/13 PHP
PHP递归调用数组值并用其执行指定函数的方法
2015/04/01 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
统一接口:为FireFox添加IE的方法和属性的js代码
2007/03/25 Javascript
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
IE6中使用position导致页面变形的解决方案(js代码)
2011/01/09 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
2013/11/27 Javascript
JavaScript中setMonth()方法的使用详解
2015/06/11 Javascript
JavaScript实现的多个图片广告交替显示效果代码
2015/09/04 Javascript
SpringMVC返回json数据的三种方式
2015/12/10 Javascript
学习JavaScript事件流和事件处理程序
2016/01/25 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
2016/08/23 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
vue2.0实现导航菜单切换效果
2017/05/08 Javascript
nodeJS进程管理器pm2的使用
2019/01/09 NodeJs
vue组件命名和props命名代码详解
2019/09/01 Javascript
js实现简易计算器小功能
2020/11/18 Javascript
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
python二分查找算法的递归实现方法
2016/05/12 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
GUESS盖尔斯法国官网:美国时尚品牌
2016/09/23 全球购物
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
Java语言程序设计测试题改错题部分
2014/07/22 面试题
大学三年的自我评价
2013/12/25 职场文书
庆六一活动总结
2014/08/29 职场文书
高中生逃课检讨书
2014/10/10 职场文书
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python