django+x-admin管理后台模板开发管理后台案例(设计部分)
使用django+x-admin管理后台模板搭建管理后台
一、环境需求
1.django:3.1
2.python:3.7
3.x-admin:2.2
4.pycharm:2020.3.2
5.ubuntu:20.0.4
6.mysql:8.0
二、功能需求
1.要使用django提供的auth类完成自定义user用户、group组、permission权限,进行用户管理。
2.要使用django提供的login和logout类完成登录与登出验证。
3.要配置路由和相关类完成django自定义管理后台的配置。
4.要完成在前端对数据库进行增删改查的操作以及操作权限的设置。
5.要完成自定义x-admin的设置。
三、设计
(一)数据库设计
用户数据库与用户组数据库是多对一的关系,一个用户可以在多个组中;一个组中可以有多个用户。
用户权限数据库和用户组是多对一的关系,一个用户组可以有多个权限,一个权限也可以在多个用户组中。
在本项目中一共包含四个组每个组有增删改查四种权限。产品的增删改查只能由产品部修改,
产品信息只能由销售部修改、管理员可以查看所有数据、普通用户只能查看个人信息。
权限类别
- 产品部(progroup):修改产品(changeproject)、添加产品(addproject)、删除产品(deleteproject)、查看产品信息(selectproject)
- 销售部(salegroup):修改产品价格(chproprice)、添加产品信息(addproinfo)、删除产品信息(delproinfo)、查看产品信息(selectproinfo)
- 管理部(managegroup):查看部门信息(managedeptinfo)、查看角色信息(selectuserinfo)、查看产品信息(selectproinfo)
角色类别
- 用户角色(users):用户姓名(username),用户密码(password),用户id(user_id)
- 产品角色(proect):产品名称(proname),产品信息(proinfo),产品id(pro_id),产品价格(proprice)
- 管理员角色(admininfo):管理员姓名(adminname),管理员密码(adminpassword),管理员id(admin_id)
组类别
- 部门角色(deptinfo):部门名称(deptname),部门id(dept_id)
权限类别
- 产品部(progroup):修改产品(changeproject)、添加产品(addproject)、删除产品(deleteproject)、查看产品信息(selectproject)
- 销售部(salegroup):修改产品价格(chproprice)、添加产品信息(addproinfo)、删除产品信息(delproinfo)、查看产品信息(selectproinfo)
- 管理部(managegroup):查看部门信息(managedeptinfo)、查看角色信息(selectuserinfo)、查看产品信息(selectproinfo)
角色类别
- 用户角色(users):用户姓名(username),用户密码(password),用户id(user_id)
- 产品角色(proect):产品名称(proname),产品信息(proinfo),产品id(pro_id),产品价格(proprice)
- 管理员角色(admininfo):管理员姓名(adminname),管理员密码(adminpassword),管理员id(admin_id)
组类别
- 部门角色(deptinfo):部门名称(deptname),部门id(dept_id)

1.用户数据表(userdb.sql)
| 字段名 | user_id | username | password |
|---|---|---|---|
| 字段类型 | int | varchar | varchar |
| 字段长度 | 8 | 30 | 128 |
| 字段约束 | primary__key | unique=True | null=False |
2.用户组数据表(groupdb.sql)
| 字段名 | user_id | group_id | groupname |
|---|---|---|---|
| 字段类型 | int | foreigKey | varchar |
| 字段长度 | 8 | 8 | 30 |
| 字段约束 | null=False | primary_key | null=False |
3.用户权限数据表(permissiondb.sql)
| 字段名 | perm__id | group_id | perm__name |
|---|---|---|---|
| 字段类型 | foreigkey | int | varchar |
| 字段长度 | 8 | 8 | 30 |
| 字段约束 | primary_key | null=False | null=False |
4.产品数据表(projectdb.sql)
| 字段名 | pro__id | group_id | pro__name | proprice | proinfo |
|---|---|---|---|---|---|
| 字段类型 | foreigkey | int | varchar | price | varchar |
| 字段长度 | 8 | 8 | 30 | 8 | 8 |
| 字段约束 | primary_key | null=False | null=False | null=False | null=False |
(四)功能设计
1.用户,组,权限自定义设置
2.用户登录自定义设置
3.管理后台x-admin的搭建
4.用户登录验证
5.在x-admin管理台中使用相应角色登陆后对数据库进行增删改查的操作
django+x-admin管理后台模板开发管理后台案例(设计部分)的更多相关文章
- 蓝色的cms企业记账管理后台模板源码——后台
链接:http://pan.baidu.com/s/1bpxKGBP 密码:suda
- HBuilder后台保活开发(后台自动运行,定期记录定位数据)
http://ask.dcloud.net.cn/question/28090 后台自动运行,定期记录定位数据 分类:HTML5+ 各位新年好 小弟以前用hbuilder开发过几个项目,现在有一新 ...
- H5网站模板——前台和后台
以下是比较典型的前台或者后台的H5模板: html5优分期大学生分期购物商城模板链接:http://pan.baidu.com/s/1dEUAzBz 密码:j150 红色的五金电气商城网站模板链接:h ...
- django之创建第9个项目-管理后台admin
django之创建第9个项目-管理后台admin配置 1.配置setting文件INSTALLED_APPS = ( 'django.contrib.auth', 'django.cont ...
- 使用django的admin的后台管理界面
django的admin后台管理界面是方便我们对数据库操作的 是一个在浏览器显示的 图形化界面数据库操作 我们先在django中的admin中把我们需要在图形化界面中进行操作的表导入进去: 先把m ...
- django的admin后台管理
Admin后台管理 要进入admin后台管理首先要创建管理员账户 createsuperuser 其中密码要大于8位 使用之前要到应用下的admin.py中注册要管理的模型表 from django. ...
- django的admin后台管理如何更改为中文
新建Django的admin后端控制为英文显示,为了可以使其显示中文,可以将 setting.py配置文件修改 # LANGUAGE_CODE = 'en-us' # # # # # TIME_ZON ...
- Django学习笔记(2)——模型,后台管理和视图的学习
一:Web投票示例 本节我们首先从全局范围再复习一下Django的概念,让自己对Django的设计理念, 功能模块,体系架构,基本用法有初步的印象. Django初始的详细博客内容:请点击我 该应用包 ...
- Django笔记 —— Admin(Django站点管理界面)
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...
随机推荐
- APP 跳转到支付包小程序
APP 跳转到支付包小程序 APP选择支付宝支付,会跳转到支付宝小程序再支付 支付包 小程序 我司有自己的APP.生活号,小程序,这种情况下如何和小程序关联,跳转到小程序里去,做到无缝对接? 其实,小 ...
- POST 非幂等
POST 非幂等 HTTP幂等方法,是指无论调用这个url多少次,都不会有不同的结果的HTTP方法; 也就是不管你调用1次还是调用100次,1000次,结果都是一样的(前提是服务器端的数据没有被人为手 ...
- macOS & Nginx
macOS & Nginx ngnix # 使用 brew 安装(如果没有 brew 命令,需要自行安装 brew) $ brew install nginx $ nginx -h # 查看 ...
- nasm astrcmp函数 x86
xxx.asm: %define p1 ebp+8 %define p2 ebp+12 %define p3 ebp+16 section .text global dllmain export as ...
- 创新全球算力生态价值,SPC算力生态强势来袭!
当前,区块链技术已经到了一个新的时代,即3.0时代.在区块链3.0时代,区块链技术迎来了数字经济革命,各行各业也在积极寻找与区块链能够融合的切入点.而随着区块链的愈加成熟,区块链技术也愈加被更多的人应 ...
- Techme INC:红光和近红外光疗法有效加速肌肉恢复,美国橄榄球队已采用
Techme INC创始人兼董事长MADELEINE VAUGHAN表示:在运动结束后,肌肉纤维因为细微损伤造成酸痛情形,即是延迟性肌肉酸痛-DOMS.这类酸痛发生时,需要适度的恢复,避免造成肌肉拉伤 ...
- Dapr 知多少 | 分布式应用运行时
Intro Dapr 官方团队已于最近(2021.1.17)正式发布Dapr v1.0,Dapr已正式生产可用,可以部署到自托管环境或 Kubernetes 集群.对于绝大多数开发者来说,想必对Dap ...
- socket通信框架——boost asio
boost asio是一个封装了基本socket的跨平台通信框架.它支持异步访问,并支持tcp的自动封闭控制等操作. 一个简单的通信协议可以为: header body body长 数据 通过boos ...
- 最小生成树---普里姆算法(Prim算法)和克鲁斯卡尔算法(Kruskal算法)
普里姆算法(Prim算法) #include<bits/stdc++.h> using namespace std; #define MAXVEX 100 #define INF 6553 ...
- [Android 搞机]Twrp 中清除 data 和搞机清除的区别
近日搞机,用上了 Havoc OS.突然发现设置里有个"加密手机",于是手贱点了进去.手机立刻重启了,然后卡在开机第一屏.遂进 Twrp 高级清除中清除了 data 并重新刷入.重 ...