使用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)
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管理台中使用相應角色登陸后對數據庫進行增刪改查的操作