Django xadmin安装及使用详解
(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )
一.简介
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字段,一般就是用来标识一下字段是不是被删除了,但是数据库中不删除
下一篇:如何使用Pytorch搭建模型