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

(0)

相关推荐

  • django+xadmin+djcelery实现后台管理定时任务

    继上一篇中间表的数据是动态的,图表展示的数据才比较准确.这里用到一个新的模块Djcelery,安装配置步骤如下: 1.安装 redis==2.10.6 celery==3.1.23 django-celery==3.1.17 flower==0.9.2 supervisor==3.3.4 flower用于监控定时任务,supervisor管理进程,可选 2.配置 settings.py中添加以下几行: #最顶头加上 from __future__ import absolute_import #

  • 解决django xadmin主题不显示和只显示bootstrap2的问题

    异常:python3的xadmin主题只显示默认和bootstrap2 解决办法: 慢慢来 相信能遇到这个问题的人,都是已经配置好xadmin的,该True的也都写过了 首先 找到xadmin文件,不会找的自己百度. 进入xadmin下的plugins文件夹,打开themes.py文件 然后 找到这一段,大概在70行 最后 把 if ex_themes: 这行改为 if len(json.loads(ex_themes)) > 10: 把 if six.PY3: content = conten

  • Django xadmin开启搜索功能的实现

    应用目录下adminx.py class EmailVerifyRecordAdmin(object): search_fields = ['code','email','send_type'] 过滤器搜索 class EmailVerifyRecordAdmin(object): list_filter = ['code','email','send_type','send_time'] 以上这篇Django xadmin开启搜索功能的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,

  • Django中自定义admin Xadmin的实现代码

    在Django框架中,自带一个后台管理页面admin,这个管理页面很全,但是,有些并不是我们需要的,所以我们可以根据admin的实现流程来自定义自己的需求,即根据admin的实现方式来实现自定制--Xadmin 首先,我们先解析admin的流程,在Django中,我们在创建项目的时候,Django自带一个admin的url,实现了不同模型表的增删改查,那么admin是如何实现url的分发的? 我们可以从三部分来看admin的路由分发实现 1,启动 我们可以通过from django.contri

  • 对django xadmin自定义菜单的实例详解

    1. 自定义菜单 adminx.py class GlobalSetting(object): site_title = u'xxx后台' def kuF_site_menu(self): return [{ 'title': u'用户&账户', 'perm': self.get_model_perm(User, 'view'), 'icon':'fa fa-users', 'menus':( {'title': u'用户', 'url': self.get_model_url(User, 'c

  • django xadmin 管理器常用显示设置方式

    课程管理器: class CourseAdmin(object): # 设置列表显示字段 list_display = ['name', 'course_org', 'detail','degree','learn_times','students','fav_nums','image','click_nums','add_time'] # 设置列表查询字段 search_field = ['name', 'course_org', 'detail','degree','learn_times'

  • django-xadmin根据当前登录用户动态设置表单字段默认值方式

    相信你一定会设置一个普通字段的默认值: class Offer(models.Model): salary = models.CharField(max_length=64, blank=True, default='6000', verbose_name='薪资待遇') 相信你还能动态设置外键字段的默认值: class Interview(models.Model): department = models.ForeignKey('departments.Department', relate

  • django xadmin中form_layout添加字段显示方式

    需求: 用的是django的框架,想显示一个基本固定的页面,用到了form_layout 上图的ROW中添加的是model中的字段名,可以显示对应的内容,如果想一行显示多个,可以写成 Row('Flow_type', 'Demand_name'),效果如下图(图片是别人的,借鉴一下) 想正常的显示,还有最后一步就是在把你需要展示的ROW中的字段,放在fields中(部分截取了一下) 补充知识:xadmin 编辑页隐藏字段 引用xadmin 的fieldSet 对不想显示的字段添加**{"styl

  • Django+Xadmin构建项目的方法步骤

    Django部分 创建项目 django-admin startproject mysite #创建一个mysite项目 运行简易服务器 python manage.py runserver #欢迎页面http://127.0.0.1:8000 设置系统语言和时间 //文件名:settings.py ********************* LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' 设置MySQL数据库 更改设置文件之前需先创建

  • Django 实现xadmin后台菜单改为中文

    应用目录下apps.py class OperationConfig(AppConfig): name = 'operation' verbose_name = u"用户操作" __init__.py default_app_config = "operation.apps.OperationConfig" 以上这篇Django 实现xadmin后台菜单改为中文就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

随机推荐