Django Xadmin

通常在实际的开发当中, 除了前后端分离的项目, 还有一些前后端不分离的项目, 这样我们在访问不分离的页面的时候, 就可以通过Django自带的admin管理模块来轻松实现后台管理, 但是由于你的审美要求较高咋办呢? 自带admin后台实在是太难看了, 也太难用了, 于是乎Xadmin就基于Django的admin开发了一个新的后台管理, 不仅融合了admin的快速组成员管理, 还基于Bootstrap美化了界面, 还有更多图标显示等你来发崛

Django Xadmin中文文档

Djanog Xadmin Github传送门

小知识点:如果是前后端不分离的项目, 也是可以借用其他的admin客户端, 比如Vue有一个 vue-element-admin 也十分好看

安装:切换到虚拟环境下

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

注册app

INSTALLED_APPS = [
# ...
# xamin主体模块
'xadmin',
# 渲染表格模块
'crispy_forms',
# 为模型通过版本控制,可以回滚数据
'reversion',
]

Xadmin数据库迁移

xadmin:需要自己的数据库模型类,完成数据库迁移, 迁移之后就会多出相对应的xadmin表

>: python manage.py migrate

设置Xadmin路由

设置主路由替换掉admin:主urls.py

# xadmin的依赖
import xadmin
xadmin.autodiscover()
# xversion模块自动注册需要版本控制的 Model
from xadmin.plugins import xversion
xversion.register_models() urlpatterns = [
# 用Xadmin后台替换原生的admin后台
path(r'xadmin/', xadmin.site.urls),
]

创建超级用户

创建超级用户:外层luffyapi路径终端

>: python manage.py createsuperuser
账号密码设置:admin | admin

完成全局美化配置

完成xadmin全局配置:新建home/adminx.py

# home/adminx.py
# xadmin全局配置
import xadmin
from xadmin import views class GlobalSettings(object):
"""xadmin的全局配置"""
site_title = "路飞学城" # 设置站点标题
site_footer = "路飞学城有限公司" # 设置站点的页脚
menu_style = "accordion" # 设置菜单折叠 xadmin.site.register(views.CommAdminView, GlobalSettings)

注册相应的字段以及Xadmin

在adminx.py中注册model:home/adminx.px

from . import models
# 注册
xadmin.site.register(models.Banner)

修改app:home的名字:xadmin页面上的显示效果

# home/__init__.py
default_app_config = "home.apps.HomeConfig" # home/apps.py
from django.apps import AppConfig
class HomeConfig(AppConfig):
name = 'home'
verbose_name = '我的首页'

xadmin的使用

1.需要在app中创建adminx.py文件

import xadmin
from repository import models
from xadmin import views class UserProfileAdmin(object):
# 显示的字段名称
list_display = ['id','name' ,'email','phone','mobile'] # 搜索时可输入的字段内容
search_fields = ['id', 'name', 'email', 'phone'] # 点击id可进入详细界面进行编辑(默认的)
list_display_links = ('id',) # 可编辑的列名
list_editable = ['name' ,'email','phone','mobile']
# list_filter = ['name' ,'email','phone','mobile'] # 每页显示多少条
list_per_page = 20 #根据id排序
ordering = ('id',) 
 
#设置只读字段 
readonly_fields = ('user_email',) #显示本条数据的所有信息
show_detail_fields = ['asset_name'] xadmin.site.register(models.UserProfile,UserProfileAdmin)

2.数据导出

如果想要导出Excel数据,需要安装xlwt

默认情况下,xadmin会提供ExcelCSV,XMLjson四种格式的数据导出,可以通过设置OptionClasslist_export属性来指定使用哪些导出格式(四种格式分别用xlscsvxmljson表示)或是将list_export设置为None来禁用数据导出功能

list_export = ('xls', 'xml', 'json')
list_export_fields = ('id', 'name', 'title')

3.设置全局的配置

# 全局修改,固定写法
class GlobalSettings(object):
# 修改title
site_title = 'xxx后台管理界面'
# 修改footer
site_footer = 'xxx的公司'
# 收起菜单
menu_style = 'accordion' # 设置 models图标
# https://v3.bootcss.com/components/
# http://www.yeahzan.com/fa/facss.html
global_search_models = [models.Disk, models.Server]
global_models_icon = {
# Server: "glyphicon glyphicon-tree-conifer", Pool: "fa fa-cloud"
models.Server: "fa fa-linux", models.Disk: "fa fa-cloud"
} # 将title和footer信息进行注册
xadmin.site.register(views.CommAdminView,GlobalSettings)

4.图表显示

data_charts = {
"host_service_type_counts": {
'title': '部门机器使用情况',
'x-field': "business_unit",
'y-field': ("business_unit"),
'option': {
"series": {"bars": {"align": "center", "barWidth": 0.8, "show": True}},
"xaxis": {"aggregate": "count", "mode": "categories"}
},
},
"host_idc_counts": {
'title': '机房统计',
'x-field': "idc",
'y-field': ("idc",),
'option': {
"series": {"bars": {"align": "center", "barWidth": 0.3, "show": True}},
"xaxis": {"aggregate": "count", "mode": "categories"}
}
}
}

5.注册模型与对应的管理类

xadmin.site.register(models.Disk, DiskAdmin)
xadmin.site.register(models.Server, ServerAdmin)
xadmin.site.register(models.IDC, IDCAdmin)
xadmin.site.register(models.UserProfile, UserProfileAdmin)
xadmin.site.register(models.UserGroup, UserGroupAdmin)

Django的Xadmin使用的更多相关文章

  1. Django+Celery+xadmin实现异步任务和定时任务

    Django+Celery+xadmin实现异步任务和定时任务 关注公众号"轻松学编程"了解更多. 一.celery介绍 1.简介 [官网]http://www.celerypro ...

  2. python框架Django使用xadmin管理后台数据

    Django使用xadmin管理后台数据 关注公众号"轻松学编程"了解更多. 作用:xadmin比Django内置的admin更美观.更方便. 一.导入xadmin(第三方库) 方 ...

  3. Django安装Xadmin步骤

    在Django中安装Xadmin替换原始的admin,下面介绍两种方法安装 第一种方法:pip安装 第一步: 直接pip安装xadmin pip install xadmin pip会同时安装上面三个 ...

  4. Django之Xadmin

    零.预备知识 单例对象 方式一:__new__方法 方式二:模块导入,只要在引入的文件中实例了这个对象,不管引道哪里,这个对象都指向同一个内存空间 class My_singleton(object) ...

  5. Django配置xadmin后台模板之坑(一)

    环境: Python3.6 + Django2.0 + xadmin2.0 一.安装 1.首先安装就会有一个坑,很多教程的安装是直接在虚拟环境下使用 pip install xadmin 或者 pip ...

  6. Django集成Xadmin list index out of range报错解决方案

    return self.render(context) File "C:\Python36\lib\site-packages\django\template\defaulttags.py& ...

  7. django 配置xadmin

    django xadmin本地安装 百度云 下载,激活码:bxhv,下载后不需要解压,直接本地 pip install xxx.zip django 版本需要 1.1.11, 1,添加app INST ...

  8. Django使用xadmin集成富文本编辑器Ueditor(方法二)

    一.xadmin的安装与配置1.安装xadmin,其中第一种在python3中安装不成功,推荐第二种或者第三种 方式一:pip install xadmin 方式二:pip install git+g ...

  9. django使用xadmin

    一.安装xadmin 由于我用的是Django2.0以后的版本 所以无法直接通过pip install xadmin来安装 即使安装成功了 也会报乱七八糟的错误 https://github.com/ ...

随机推荐

  1. 【洛谷P5158】 【模板】多项式快速插值

    卡常严重,可有采用如下优化方案: 1.预处理单位根 2.少取几次模 3.复制数组时用 memcpy 4.进行多项式乘法项数少的时候直接暴力乘 5.进行多项式多点求值时如果项数小于500的话直接秦九昭展 ...

  2. learning java FileInputStream

    public class FileInputStreamTest { public static void main(String[] args) throws IOException { var f ...

  3. Linux运维相关命令

    df 查看磁盘空间大小 df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为: 文件系统              容量 已用  ...

  4. JQuery/JS插件 日期插件

    用于日期的计算,功能比较全,我常用的主要是日期的计算(多一天少一天,或者添加几个月等),日期格式化 网址:http://momentjs.cn/ 测试代码: <!DOCTYPE html> ...

  5. D3.js的v5版本入门教程(第三章)—— 选择元素和绑定数据

    D3.js的v5版本入门教程(第三章) 在D3.js中,选择元素和绑定元素是最基本的内容,也是很重要的内容,等你看完整个教程后你会发现,这些D3.js教程都是在选择元素和绑定元素的基础上展开后续工作的 ...

  6. OpenFOAM——圆腔顶盖旋转驱流

    本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL008: Flow Inside a Rotating Cavity 腔体顶盖以1 ...

  7. ICEM-tube-water

    原视频下载地址:https://pan.baidu.com/s/1slPfJFv 密码: kjsh

  8. 创业小记:ALL IN才是迈出创业第一步的关键

    对于创业而言,能卖出这创业第一步的,大多都经过了长期反复的心理拷问与折磨. 因为当你迈出创业的那一步,你可能需要面对的是毫无收入保障的生活,以及后果自负的结局. ALL IN才是迈出创业第一步的关键( ...

  9. linux学习(2):linux服务器常用操作和命令

    linux服务器常用操作和命令 目录 1. 什么是linux服务器load average?2. 如何查看linux服务器负载3. 服务器负载高怎么办?4. 如何查看服务器内存使用率?5. 如何查看单 ...

  10. 平时常说的ThreadLocal,今天就彻底解决它

    前言 一.了解ThreadLocal的作用 二.ThreadLocal简单使用 三.ThreadLocal原理 3.1 ThreadLocal的存取过程 3.2 探究ThreadLocalMap对象 ...