赞
踩
资源下载地址:https://download.csdn.net/download/sheziqiong/85709920
资源下载地址:https://download.csdn.net/download/sheziqiong/85709920
为方便实验室进行设备管理,某大学拟开发实验室设备管理系统 来管理所有实验室里的各种设备。系统可实现管理员登录,查看现有的所有设备, 增加设备等功能。
安装virtualenv: pip3 install virtualenv
创建虚拟环境: virtualenv venv
进虚拟环境: source venv/bin/activate
安装依赖的包: pip install -r requirements.txt
退出虚拟环境: deactivate
更新数据库: python app.py db upgrade
成户: python app.py init
运: python app.py runserver
邮箱:zhaowrenee@gmail.com
密码:666666
另外保证:
提示
app.py
中function与 templates
中HTML件对应,展示在页中:
HTML使Flask-wtf Bootstrap渲染功能,使界更美观
app.Role
为户设置的用户或者管理员角类,内部有条件角条件约束
app.User
户类
app.Device
设备类
FlaskForm 信息表
roles 身份表 | ||||||
---|---|---|---|---|---|---|
名称 | 类型 | NOT NULL约束 | PRIMARY KEY约束 | UNIQUE约束 | 默认 | 外键 |
id | INTEGER | √ | √ | |||
name | VARCHAR(64) |
CREATE TABLE roles (
id INTEGER NOT NULL,
name VARCHAR(64),
PRIMARY KEY (id),
UNIQUE (name)
)
表中实体:
id | name |
---|---|
1 | User |
2 | Admin |
users 用户表 | ||||||
---|---|---|---|---|---|---|
名称 | 类型 | NOT NULL约束 | PRIMARY KEY约束 | UNIQUE约束 | 默认 | 外键 |
id | INTEGER | √ | √ | |||
number | VARCHAR(128) | |||||
username | VARCHAR(64) | |||||
password_hash | VARCHAR(128) | |||||
role_id | INTEGER | roles(id) |
CREATE TABLE users (
id INTEGER NOT NULL,
number VARCHAR(128),
username VARCHAR(64),
password_hash VARCHAR(128),
role_id INTEGER,
PRIMARY KEY (id),
UNIQUE (password_hash),
FOREIGN KEY(role_id) REFERENCES roles (id)
)
表中实体:
id | number | username | password_hash | role_id |
---|---|---|---|---|
1 | zhaowrenee@gmail.com | Admin | pbkdf2:sha256:50000$V4ZV7KEr$42b0a9825baa100fa800d0544632a1ad7d6130504ef6c397ecfa6b02ca99298d | 2 |
2 | mshi@hotmail.com | 袁帅 | pbkdf2:sha256:50000 K W F W U d Y 9 KWFWUdY9 KWFWUdY9d1c334fe90415612c0d99301d45f3e5f9c3f482726cde598259d19ff1228c217 | 1 |
3 | yaoxiuying@mingding.org | 刘东 | pbkdf2:sha256:50000$rNv7gYzZ$381113b96a85934496fe06a2796893fb85689b71c373e97a5e4d9d3adfd5ef26 | 1 |
4 | vfan@hotmail.com | 吴娟 | pbkdf2:sha256:50000$cA7RmNVD$7136167bd1c3163b0ec221638b8644f12f093f3450ecc4f631c72840e26f31f3 | 1 |
5 | panjuan@hotmail.com | 刘玉珍 | pbkdf2:sha256:50000$hSqUMhqa$5dd222a191f376127e3dceb8244310cc7114dcceaa2d3bc5fa585a9429f66a02 | 1 |
devices 设备表 | ||||||
---|---|---|---|---|---|---|
名称 | 类型 | NOT NULL约束 | PRIMARY KEY约束 | UNIQUE约束 | 默认 | 外键 |
id | INTEGER | √ | √ | |||
device_id | VARCHAR(64) | |||||
lab | VARCHAR(64) | |||||
name | VARCHAR(64) | |||||
password_hash | DATETIME | |||||
user_id | VARCHAR(64) | users(id) |
CREATE TABLE devices (
id INTEGER NOT NULL,
lab VARCHAR(64),
name VARCHAR(64),
time DATETIME,
user_id VARCHAR(64),
PRIMARY KEY (id),
FOREIGN KEY(user_id) REFERENCES users (id)
)
表中实体:
id | device_id | lab | name | time | user_id |
---|---|---|---|---|---|
2 | 2020-QS-002 | 趋势传媒实验室 | 专业VR镜头 | 2020-03-31 22:12:17.000000 | 6 |
3 | 2020-LY-003 | 凌云科技实验室 | 专业VR镜头 | 2020-03-15 02:36:25.000000 | 6 |
4 | 2020-MX-004 | 盟新传媒实验室 | 联想启天2100 | 2020-03-16 23:44:42.000000 | 1 |
5 | 2020-CH-005 | 创汇网络实验室 | DSP实验箱 | 2020-01-17 03:29:31.000000 | 8 |
6 | 2020-LT-006 | 联通时科网络实验室 | 功率变换器 | 2020-04-06 07:49:29.000000 | 3 |
7 | 2020-HR-007 | 鸿睿思博网络实验室 | 双踪示波器 | 2020-03-05 00:48:16.000000 | 4 |
8 | 2020-TY-008 | 天益科技实验室 | 联想启天2100 | 2020-03-03 23:57:45.000000 | 11 |
9 | 2020-LY-009 | 凌颖信息信息实验室 | 投影机 | 2020-02-03 20:11:21.000000 | 10 |
10 | 2020-DM-010 | 迪摩科技实验室 | 曙光天阔服务器 | 2020-02-12 20:46:27.000000 | 1 |
11 | 2020-LR-011 | 联软传媒实验室 | 联想启天2100 | 2020-02-21 11:02:09.000000 | 11 |
通常设备编号都有其实际含义,而且通常有使用年限的规定。所以我在展示后对ID进行设计,更加符合实际情况。
id的格式为购置年份-实验室名称前两字的拼音大写字母缩写-设备编号(三位数补全)
其中,提取实验室名称的拼音大写字母缩写,我通过利用xpinyin包来完成。
页面中显示的“设备编号”为人为构造的“设备id”,区别于数据库表中自动生成的id。
因为增加了删除设备这一附加功能,而设备删除是一个具有安全隐患的操作。为了避免发生误操作的情况,在点击“删除”按钮后系统会提示“确定要删除吗?”,此时只有点击”确定“时才会执行删除操作。
为了批量生成数据,使用python中的faker包来生成不同类型和格式的随机数据来模拟真实情形
其中,设定系统的管理员拥有顶级权限,即可以管理设备购置记录,并且我这里附加了一个功能:其本身购置的设备记录用红色背景标出,表明其重要性。
这里对输入数据进行合法性验证:
设备名不能为空/长度超出32个字符
购置人必须是数据库中的用户,这里主要是为了确保我们拥有购置人的详细信息(比如说邮箱等),否则我们无法确认购置人的身份、无法联系到他。
这里考虑了可能有设备废弃或者是转让,需要删除设备的情况。
拥有顶级权限的管理员本人购置的设备无法删除。
完成操作后点击注销,即可退出登录,此时返回登录页面,因为之前选择了记住密码,下次可直接登录。
资源下载地址:https://download.csdn.net/download/sheziqiong/85709920
资源下载地址:https://download.csdn.net/download/sheziqiong/85709920
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。