Django的Xadmin使用
Django Xadmin
通常在实际的开发当中, 除了前后端分离的项目, 还有一些前后端不分离的项目, 这样我们在访问不分离的页面的时候, 就可以通过Django自带的admin管理模块来轻松实现后台管理, 但是由于你的审美要求较高咋办呢? 自带admin后台实在是太难看了, 也太难用了, 于是乎Xadmin就基于Django的admin开发了一个新的后台管理, 不仅融合了admin的快速组成员管理, 还基于Bootstrap美化了界面, 还有更多图标显示等你来发崛
小知识点:如果是前后端不分离的项目, 也是可以借用其他的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
会提供Excel
,CSV
,XML
,json
四种格式的数据导出,可以通过设置OptionClass
的list_export
属性来指定使用哪些导出格式(四种格式分别用xls
,csv
,xml
,json
表示)或是将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使用的更多相关文章
- Django+Celery+xadmin实现异步任务和定时任务
Django+Celery+xadmin实现异步任务和定时任务 关注公众号"轻松学编程"了解更多. 一.celery介绍 1.简介 [官网]http://www.celerypro ...
- python框架Django使用xadmin管理后台数据
Django使用xadmin管理后台数据 关注公众号"轻松学编程"了解更多. 作用:xadmin比Django内置的admin更美观.更方便. 一.导入xadmin(第三方库) 方 ...
- Django安装Xadmin步骤
在Django中安装Xadmin替换原始的admin,下面介绍两种方法安装 第一种方法:pip安装 第一步: 直接pip安装xadmin pip install xadmin pip会同时安装上面三个 ...
- Django之Xadmin
零.预备知识 单例对象 方式一:__new__方法 方式二:模块导入,只要在引入的文件中实例了这个对象,不管引道哪里,这个对象都指向同一个内存空间 class My_singleton(object) ...
- Django配置xadmin后台模板之坑(一)
环境: Python3.6 + Django2.0 + xadmin2.0 一.安装 1.首先安装就会有一个坑,很多教程的安装是直接在虚拟环境下使用 pip install xadmin 或者 pip ...
- Django集成Xadmin list index out of range报错解决方案
return self.render(context) File "C:\Python36\lib\site-packages\django\template\defaulttags.py& ...
- django 配置xadmin
django xadmin本地安装 百度云 下载,激活码:bxhv,下载后不需要解压,直接本地 pip install xxx.zip django 版本需要 1.1.11, 1,添加app INST ...
- Django使用xadmin集成富文本编辑器Ueditor(方法二)
一.xadmin的安装与配置1.安装xadmin,其中第一种在python3中安装不成功,推荐第二种或者第三种 方式一:pip install xadmin 方式二:pip install git+g ...
- django使用xadmin
一.安装xadmin 由于我用的是Django2.0以后的版本 所以无法直接通过pip install xadmin来安装 即使安装成功了 也会报乱七八糟的错误 https://github.com/ ...
随机推荐
- 洛谷 P4316绿豆蛙的归宿
题目描述 记f[i]表示经过i号点的概率. 那么点v从点u到达的概率=经过点u的概率/点u的出度.由于v可以由多个点走到,所以f[v]+=f[u]/out[u]. 计算f的过程可以在拓扑中完成,同时可 ...
- 【00NOIP普及组】计算器的改良(信息学奥赛一本通 1910)(洛谷 1022)
[题目描述] NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能.实验室将这个任务交给了一个刚进入的新手ZL先 ...
- pycharm+gitee【代码上传下载】实战(windows详细版)
pycharm+gitee环境搭建好以后应该如何进行代码上传下载操作呢?举几个例子,此文会一直更新 环境:2019社区版pycharm+gitee+git 系统:windows系统 一.代码上传功能 ...
- Dubbo+zookeeper实现单表的增删改查
1.数据库准备 建表语句 CREATE TABLE `tb_brand` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) DEFAULT NULL COMMENT ...
- RocketMq重复消费问题排查
前情 出现了重复消费的问题,同一个消息被重复消费了多次,导致了用户端收到了多条重复的消息,最终排查发现,是因为消费者在处理消息的方法onMessage中有异常没有捕获到,导致异常上抛,被consume ...
- 【软工实践】Alpha冲刺(6/6)
链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 tomcat的学习与实现 服务器后端部署,API接口的beta版实现 后端代码 ...
- 剑指offer:删除链表中重复的结点
题目描述: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理 ...
- Java多个线程顺序打印数字
要求 启动N个线程, 这N个线程要不间断按顺序打印数字1-N. 将问题简化为3个线程无限循环打印1到3 方法一: 使用synchronized 三个线程无序竞争同步锁, 如果遇上的是自己的数字, 就打 ...
- SnowFlake分布式ID生成及反解析
概述 分布式id生成算法的有很多种,Twitter的SnowFlake就是其中经典的一种,SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图: 1位,不用.二进制中最高位为 ...
- Post Setting Proxy 设置 代理
postman的代理使用篇(四) - codingstudy - SegmentFault 思否https://segmentfault.com/a/1190000012024844 postman ...