【Django】第一课 基于Django超市订单管理系统开发

news/2024/4/29 20:56:15/文章来源:https://blog.csdn.net/u010321564/article/details/128426366

概念

django服务器开发框架是一款基于Python编程语言用于web服务器开发的框架,采用的是MTV架构模式进行分层架构。

项目搭建

打开pycharm开发软件,打开开发软件的内置dos窗口操作命令行

在这里指定项目存放的磁盘路径,并使用创建django项目的指令创建当前项目,这里项目中使用django-admin startproject SMBMSSystem 创建了一个项目名为 SMBMSSystem的django服务器项目。

当回车时,只要编辑窗口未显示报错信息,则说明当前项目创建成功,在选择pycharm开发软件的左上角file》open找到打开刚刚创建的项目进行加载出来即可。

加载显示当前项目后,再一次进入内置dos窗口,在当前项目中创建子项目,创建子项目的指令如下:python manage.py startapp SMBMS,执行以上指令,则在当前项目中创建了 SMBMS子项目

将当前子项目名称添加至主项目的setting.py文件中进行管理

在 SMBMS中创建templates文件夹目录,用于存放创建的html模板页面

首页

在templates文件夹中new》html file,定义index.html作为当前子项目的首页,其代码如下

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>超市订单管理系统--登录</title>
<script type="text/javascript">function btn(obj,i) {//i为1的时候,表示鼠标在按钮上//i为2的时候,表示鼠标点击了按钮//i为3的时候,表示鼠标移出了按钮switch (i) {case 1:obj.style="width: 120px;background-color: red;border: none;padding: 5px;border-radius: 5px;color: white;";break;case 2:obj.style="width: 120px;background-color: skyblue;border: none;padding: 5px;border-radius: 5px;color: white;";break;case 3:obj.style="width: 120px;background-color: green;border: none;padding: 5px;border-radius: 5px;color: white;";break;}}
</script><style type="text/css">table{width: 400px;border-radius: 5px;background-color: cadetblue;}td{padding: 10px;}</style>
</head>
<body><div align="center" ><form action="login/"  method="get">{% csrf_token %}<table  style="margin: auto;text-align: center;"><tr><td colspan="2"><h3>登录页面</h3><hr></td></tr><tr><td>用户名:</td><td><input type="text" name="username" placeholder="请输入用户名" /></td></tr><tr><td>密码:</td><td><input type="password" name="password" placeholder="请输入密码" /></td></tr><tr ><td colspan="2"><input type="submit"onmouseover="btn(this,1)" onmouseout="btn(this,3)" onmousedown="btn(this,2)" value="登录"style="width: 120px;background-color: green;border: none;padding: 5px;border-radius: 5px;color: white;"/></td></tr></table></form></div>
</body>
</html>

urls.py

# 进入登录页面的地址path('',views.index),

views.py

def index(request):return render(request,"index.html")

接着只需要通过内置dos窗口,编写运行django服务器指令即可,python manage.py runserver,运行服务器后,点击生成的django服务器地址即可

数据库表的创建和数据导入

在子项目的models.py文件中定义数据库表结构类

用户角色类

# 用户角色,用户身份
class Role(models.Model):# 工号roleCode=models.CharField(max_length=15,blank=True)# 角色名称roleName=models.CharField(max_length=15,blank=True)# 创建该数据的管理员的idcreatedBy = models.IntegerField(blank=True)# 创建该数据的时间creationDate = models.CharField(max_length=30, blank=True)# 修改该数据的管理员的idmodifyBy = models.IntegerField(blank=True)# 修改该数据的时间modifyDate = models.CharField(max_length=30, blank=True)

用户类

# 创建用户表
class User(models.Model):# 用户编码userCode=models.CharField(max_length=15,blank=True)# 用户姓名userName=models.CharField(max_length=15,blank=True)#用户密码userPassword=models.CharField(max_length=15,blank=True)# 性别 1:女,2:男gender=models.IntegerField()# 出生日期birthday=models.CharField(max_length=15,blank=True)# 手机号phone=models.CharField(max_length=15,blank=True)# 地址address = models.CharField(max_length=30, blank=True)# 角色,身份id,取之于Role表userRole=models.IntegerField()# 创建该数据的管理员的idcreatedBy = models.IntegerField(blank=True)# 创建该数据的时间creationDate = models.CharField(max_length=30, blank=True)# 修改该数据的管理员的idmodifyBy = models.IntegerField(blank=True)# 修改该数据的时间modifyDate = models.CharField(max_length=30, blank=True)

供应商类

# 供应商表
class Provider(models.Model):#供应商编码proCode=models.CharField(max_length=20, blank=True)# 供应商名称proName = models.CharField(max_length=20, blank=True)# 供应商详细描述proDesc = models.CharField(max_length=50, blank=True)# 供应商联系人proContact = models.CharField(max_length=20, blank=True)# 联系电话proPhone = models.CharField(max_length=20, blank=True)# 供应商地址proAddress = models.CharField(max_length=50, blank=True)# 传真proFax = models.CharField(max_length=20, blank=True)# 创建该数据的管理员的idcreatedBy = models.IntegerField(blank=True)# 创建该数据的时间creationDate = models.CharField(max_length=30, blank=True)# 修改该数据的管理员的idmodifyBy = models.IntegerField(blank=True)# 修改该数据的时间modifyDate = models.CharField(max_length=30, blank=True)

 订单类

# 创建订单表
class Bill(models.Model):# 账单编码billCode=models.CharField(max_length=20,blank=True)# 商品名称productName = models.CharField(max_length=20, blank=True)# 商品描述productDesc = models.CharField(max_length=50, blank=True)# 商品单位productUnit = models.CharField(max_length=10, blank=True)# 商品数量productCount = models.FloatField(blank=True)# 商品总额totalPrice = models.FloatField(blank=True)# 是否支付(1:未支付 2:已支付)isPayment = models.IntegerField(blank=True)# 创建该数据的管理员的idcreatedBy = models.IntegerField(blank=True)# 创建该数据的时间creationDate = models.CharField(max_length=30, blank=True)# 修改该数据的管理员的idmodifyBy = models.IntegerField(blank=True)# 修改该数据的时间modifyDate = models.CharField(max_length=30, blank=True)# 供应商IDproviderId = models.IntegerField(blank=True)

紧急联系人类

# 建立紧急联系人地址表
class Address(models.Model):# 联系人姓名contact=models.CharField(max_length=15,blank=True)# 收货地址明细addressDesc=models.CharField(max_length=50,blank=True)# 邮政编码postCode=models.CharField(max_length=15,blank=True)# 联系人电话tel=models.CharField(max_length=20,blank=True)# 创建该数据的管理员的idcreatedBy=models.IntegerField(blank=True)# 创建该数据的时间creationDate=models.CharField(max_length=30,blank=True)# 修改该数据的管理员的idmodifyBy=models.IntegerField(blank=True)# 修改该数据的时间modifyDate=models.CharField(max_length=30,blank=True)# 用户iduserId=models.IntegerField()

 接着在内置dos窗口中输入python manage.py migrations指令将以上数据库模型类转换成迁移文件

然后输入python manage.py migrate指令将迁移文件转换成数据库对应的表结构

点击打开以上五张表,点击DDL进行执行批量添加数据信息

 

选中要添加的数据的sql语句,右键execute执行即可,执行结束后,刷新当前表结构,既能看到添加的数据,其他几张表以此类推

角色表数据

INSERT INTO `smbms_role` VALUES ('1', 'SMBMS_ADMIN', '系统管理员', '1', '2016-04-13 00:00:00', 0, '');
INSERT INTO `smbms_role` VALUES ('2', 'SMBMS_MANAGER', '经理', '1', '2016-04-13 00:00:00', 0, '');
INSERT INTO `smbms_role` VALUES ('3', 'SMBMS_EMPLOYEE', '普通员工', '1', '2016-04-13 00:00:00', 0, '');

 紧急联系人表数据

INSERT INTO `smbms_address` VALUES ('1', '王丽', '北京市东城区东交民巷44号', '100010', '13678789999', '1', '2016-04-13 00:00:00', '', '', '1');
INSERT INTO `smbms_address` VALUES ('2', '张红丽', '北京市海淀区丹棱街3号', '100000', '18567672312', '1', '2016-04-13 00:00:00', '', '', '1');
INSERT INTO `smbms_address` VALUES ('3', '任志强', '北京市东城区美术馆后街23号', '100021', '13387906742', '1', '2016-04-13 00:00:00', '', '', '1');
INSERT INTO `smbms_address` VALUES ('4', '曹颖', '北京市朝阳区朝阳门南大街14号', '100053', '13568902323', '1', '2016-04-13 00:00:00', '', '', '2');
INSERT INTO `smbms_address` VALUES ('5', '李慧', '北京市西城区三里河路南三巷3号', '100032', '18032356666', '1', '2016-04-13 00:00:00', '', '', '3');
INSERT INTO `smbms_address` VALUES ('6', '王国强', '北京市顺义区高丽营镇金马工业区18号', '100061', '13787882222', '1', '2016-04-13 00:00:00', '', '', '3');

用户表数据

INSERT INTO `smbms_user` VALUES ('1', 'admin', '系统管理员', '1234567', '1', '1983-10-10', '13688889999', '北京市海淀区成府路207号', '1', '1', '2013-03-21 16:52:07', 0, '');
INSERT INTO `smbms_user` VALUES ('2', 'liming', '李明', '0000000', '2', '1983-12-10', '13688884457', '北京市东城区前门东大街9号', '2', '1', '2022-04-22 16:10:36', 0, '');
INSERT INTO `smbms_user` VALUES ('5', 'hanlubiao', '韩路彪', '0000000', '2', '1984-06-05', '18567542321', '北京市朝阳区北辰中心12号', '2', '1', '2014-12-31 19:52:09', 0, '');
INSERT INTO `smbms_user` VALUES ('6', 'zhanghua', '张华', '0000000', '1', '1983-06-15', '13544561111', '北京市海淀区学院路61号', '3', '1', '2013-02-11 10:51:17', 0, '');
INSERT INTO `smbms_user` VALUES ('7', 'wangyang', '王洋', '0000000', '2', '1982-12-31', '13444561124', '北京市海淀区西二旗辉煌国际16层', '3', '1', '2014-06-11 19:09:07', 0, '');
INSERT INTO `smbms_user` VALUES ('8', 'zhaoyan', '赵燕', '0000000', '1', '1986-03-07', '18098764545', '北京市海淀区回龙观小区10号楼', '3', '1', '2016-04-21 13:54:07', 0, '');
INSERT INTO `smbms_user` VALUES ('10', 'sunlei', '孙磊', '0000000', '2', '1981-01-04', '13387676765', '北京市朝阳区管庄新月小区12楼', '3', '1', '2015-05-06 10:52:07', 0, '');
INSERT INTO `smbms_user` VALUES ('11', 'sunxing', '孙兴', '0000000', '2', '1978-03-12', '13367890900', '北京市朝阳区建国门南大街10号', '3', '1', '2016-11-09 16:51:17', 0, '');
INSERT INTO `smbms_user` VALUES ('12', 'zhangchen', '张小晨', '0000000', '1', '1986-04-16', '18098765434', '朝阳区管庄路口北柏林爱乐三期13号楼', '2', '1', '2016-08-09 05:52:37', '1', '2021-10-16 16:55:54');
INSERT INTO `smbms_user` VALUES ('13', 'dengchao', '邓超', '0000000', '2', '1981-11-04', '13689674534', '北京市海淀区北航家属院10号楼', '3', '1', '2016-07-11 08:02:47', 0, '');
INSERT INTO `smbms_user` VALUES ('14', 'yangguo', '杨过', '0000000', '2', '1980-01-01', '13388886623', '北京市朝阳区北苑家园茉莉园20号楼', '3', '1', '2015-02-01 03:52:07', 0, '');
INSERT INTO `smbms_user` VALUES ('15', 'zhaomin', '赵敏', '0000000', '1', '1987-12-04', '18099897657', '北京市昌平区天通苑3区12号楼', '2', '1', '2015-09-12 12:02:12', 0, '');
INSERT INTO `smbms_user` VALUES ('16', 'zhangsan', '张三', '0000000', '2', '2022-05-10', '12345678910', '江西省南昌市济技术开发区志敏1458号', '3', '1', '2022-05-07 09:45:16', 0, '');

 供应商表数据

INSERT INTO `smbms_provider` VALUES ('1', 'BJ_GYS001', '北京三木堂商贸有限公司', '长期合作伙伴,主营产品:茅台、五粮液、郎酒、酒鬼酒、泸州老窖、赖茅酒、法国红酒等', '张国强', '13566667777', '北京市丰台区育芳园北路', '010-58858787', '1', '2013-03-21 16:52:07', null, null);
INSERT INTO `smbms_provider` VALUES ('2', 'HB_GYS001', '石家庄帅益食品贸易有限公司', '长期合作伙伴,主营产品:饮料、水饮料、植物蛋白饮料、休闲食品、果汁饮料、功能饮料等', '王军', '13309094212', '河北省石家庄新华区', '0311-67738876', '1', '2016-04-13 04:20:40', null, null);
INSERT INTO `smbms_provider` VALUES ('3', 'GZ_GYS001', '深圳市泰香米业有限公司', '初次合作伙伴,主营产品:良记金轮米,龙轮香米等', '郑程瀚', '13402013312', '广东省深圳市福田区深南大道6006华丰大厦', '0755-67776212', '1', '2014-03-21 16:56:07', null, null);
INSERT INTO `smbms_provider` VALUES ('4', 'GZ_GYS002', '深圳市喜来客商贸有限公司', '长期合作伙伴,主营产品:坚果炒货.果脯蜜饯.天然花茶.营养豆豆.特色美食.进口食品.海味零食.肉脯肉', '林妮', '18599897645', '广东省深圳市福龙工业区B2栋3楼西', '0755-67772341', '1', '2013-03-22 16:52:07', null, null);
INSERT INTO `smbms_provider` VALUES ('5', 'JS_GYS001', '兴化佳美调味品厂', '长期合作伙伴,主营产品:天然香辛料、鸡精、复合调味料', '徐国洋', '13754444221', '江苏省兴化市林湖工业区', '0523-21299098', '1', '2015-11-22 16:52:07', null, null);
INSERT INTO `smbms_provider` VALUES ('6', 'BJ_GYS002', '北京纳福尔食用油有限公司', '长期合作伙伴,主营产品:山茶油、大豆油、花生油、橄榄油等', '马莺', '13422235678', '北京市朝阳区珠江帝景1号楼', '010-588634233', '1', '2012-03-21 17:52:07', null, null);
INSERT INTO `smbms_provider` VALUES ('7', 'BJ_GYS003', '北京国粮食用油有限公司', '初次合作伙伴,主营产品:花生油、大豆油、小磨油等', '王驰', '13344441135', '北京大兴青云店开发区', '010-588134111', '1', '2016-04-13 00:00:00', null, null);
INSERT INTO `smbms_provider` VALUES ('8', 'ZJ_GYS001', '慈溪市广和绿色食品厂', '长期合作伙伴,主营产品:豆瓣酱、黄豆酱、甜面酱,辣椒,大蒜等农产品', '薛圣丹', '18099953223', '浙江省宁波市慈溪周巷小安村', '0574-34449090', '1', '2013-11-21 06:02:07', null, null);
INSERT INTO `smbms_provider` VALUES ('9', 'GX_GYS001', '优百商贸有限公司', '长期合作伙伴,主营产品:日化产品', '李立国', '13323566543', '广西南宁市秀厢大道42-1号', '0771-98861134', '1', '2013-03-21 19:52:07', null, null);
INSERT INTO `smbms_provider` VALUES ('10', 'JS_GYS002', '南京火头军信息技术有限公司', '长期合作伙伴,主营产品:不锈钢厨具等', '陈女士', '13098992113', '江苏省南京市浦口区浦口大道1号新城总部大厦A座903室', '025-86223345', '1', '2013-03-25 16:52:07', null, null);
INSERT INTO `smbms_provider` VALUES ('11', 'GZ_GYS003', '广州市白云区美星五金制品厂', '长期合作伙伴,主营产品:海绵床垫、坐垫、靠垫、海绵枕头、头枕等', '梁天', '13562276775', '广州市白云区钟落潭镇福龙路20号', '020-85542231', '1', '2016-12-21 06:12:17', null, null);
INSERT INTO `smbms_provider` VALUES ('12', 'BJ_GYS004', '北京隆盛日化科技', '长期合作伙伴,主营产品:日化环保清洗剂,家居洗涤专卖、洗涤用品网、墙体除霉剂、墙面霉菌清除剂等', '孙欣', '13689865678', '北京市大兴区旧宫', '010-35576786', '1', '2014-11-21 12:51:11', null, null);
INSERT INTO `smbms_provider` VALUES ('13', 'SD_GYS001', '山东豪克华光联合发展有限公司', '长期合作伙伴,主营产品:洗衣皂、洗衣粉、洗衣液、洗洁精、消杀类、香皂等', '吴洪转', '13245468787', '山东济阳济北工业区仁和街21号', '0531-53362445', '1', '2015-01-28 10:52:07', null, null);
INSERT INTO `smbms_provider` VALUES ('14', 'JS_GYS003', '无锡喜源坤商行', '长期合作伙伴,主营产品:日化品批销', '周一清', '18567674532', '江苏无锡盛岸西路', '0510-32274422', '1', '2016-04-23 11:11:11', null, null);
INSERT INTO `smbms_provider` VALUES ('15', 'ZJ_GYS002', '乐摆日用品厂', '长期合作伙伴,主营产品:各种中、高档塑料杯,塑料乐扣水杯(密封杯)、保鲜杯(保鲜盒)、广告杯、礼品杯', '王世杰', '13212331567', '浙江省金华市义乌市义东路', '0579-34452321', '1', '2016-08-22 10:01:30', null, null);
INSERT INTO `smbms_provider` VALUES ('18', 'XJ_BYS002', '江西青年职业学院', '软件技术,计算机应用,电子商务', '王老师', '15266666666', '江西省南昌市西湖区', '0791-88888888', '2', '2021-10-19 20:24:17', '2022-05-02 15:52:23', '2');
INSERT INTO `smbms_provider` VALUES ('19', 'SZ_GYS001', '深圳华为有限公司', '主营业务:网络通信,人工智能,电脑,手机,制造芯片等等业务', '任正非', '15266666666', '广东省深圳市南山区', '0791-88888666', '2', '2022-04-27 09:42:29', '2022-04-27 10:57:03', '2');
INSERT INTO `smbms_provider` VALUES ('20', 'XJ_BYS003', '深圳腾讯股份有限公司', '开发各种游戏,即时通讯软件,QQ,微信等等', '马化腾', '18199999999', '广东省深圳市南山区', '0791-88888666', '2', '2022-05-02 14:52:31', null, null);
INSERT INTO `smbms_provider` VALUES ('21', 'XJ_BYS004', '杭州阿里巴巴集团', '支付宝,淘宝,菜鸟等等', '马老师', '15288888999', '浙江省杭州市西湖区', '0791-88888666', '2', '2022-05-03 14:49:08', '2022-05-03 15:52:32', '2');

订单表数据

INSERT INTO `smbms_bill` VALUES ('1', 'BILL2016_001', '洗发水、护发素', '日用品-洗发、护发', '瓶', '500.00', '25000.00', '1', '7', '2014-12-14 13:02:03', 0, '', '13');
INSERT INTO `smbms_bill` VALUES ('2', 'BILL2016_002', '香皂、肥皂、药皂', '日用品-皂类', '块', '1000.00', '10000.00', '2', '6', '2016-03-23 04:20:40', 0, '', '13');
INSERT INTO `smbms_bill` VALUES ('3', 'BILL2016_003', '大豆油', '食品-食用油', '斤', '300.00', '5890.00', '2', '8', '2014-12-14 13:02:03', 0, '', '6');
INSERT INTO `smbms_bill` VALUES ('4', 'BILL2016_004', '橄榄油', '食品-进口食用油', '斤', '200.00', '9800.00', '1', '10', '2013-10-10 03:12:13', 0, '', '7');
INSERT INTO `smbms_bill` VALUES ('5', 'BILL2016_005', '洗洁精', '日用品-厨房清洁', '瓶', '500.00', '7000.00', '1', '13', '2014-12-14 13:02:03', 0, '', '9');
INSERT INTO `smbms_bill` VALUES ('6', 'BILL2016_006', '美国大杏仁', '食品-坚果', '袋', '300.00', '5000.00', '1', '14', '2016-04-14 06:08:09', 0, '', '4');
INSERT INTO `smbms_bill` VALUES ('7', 'BILL2016_007', '沐浴液、精油', '日用品-沐浴类', '瓶', '500.00', '23000.00', '2', '8', '2016-07-22 10:10:22', 0, '', '14');
INSERT INTO `smbms_bill` VALUES ('8', 'BILL2016_008', '不锈钢盘碗', '日用品-厨房用具', '个', '600.00', '6000.00', '1', '7', '2016-04-14 05:12:13', 0, '', '14');
INSERT INTO `smbms_bill` VALUES ('9', 'BILL2016_009', '塑料杯', '日用品-杯子', '个', '350.00', '1750.00', '1', '6', '2016-02-04 11:40:20', 0, '', '14');
INSERT INTO `smbms_bill` VALUES ('10', 'BILL2016_010', '豆瓣酱', '食品-调料', '瓶', '200.00', '2000.00', '2', '6', '2013-10-29 05:07:03', 0, '', '8');
INSERT INTO `smbms_bill` VALUES ('11', 'BILL2016_011', '海之蓝', '饮料-国酒', '瓶', '50.00', '10000.00', '1', '11', '2016-04-14 16:16:00', 0, '', '1');
INSERT INTO `smbms_bill` VALUES ('12', 'BILL2016_012', '芝华士', '饮料-洋酒', '瓶', '20.00', '6000.00', '1', '13', '2016-09-09 17:00:00', 0, '', '1');
INSERT INTO `smbms_bill` VALUES ('13', 'BILL2016_013', '长城红葡萄酒', '饮料-红酒', '瓶', '60.00', '800.00', '1', '14', '2016-11-14 15:23:00', 0, '', '1');
INSERT INTO `smbms_bill` VALUES ('14', 'BILL2016_014', '泰国香米', '食品-大米', '斤', '400.00', '5000.00', '1', '13', '2016-10-09 15:20:00', 0, '', '3');
INSERT INTO `smbms_bill` VALUES ('15', 'BILL2016_015', '东北大米', '食品-大米', '斤', '600.00', '4000.00', '1', '11', '2016-11-14 14:00:00', 0, '', '3');
INSERT INTO `smbms_bill` VALUES ('16', 'BILL2016_016', '可口可乐', '饮料', '瓶', '2000.00', '6000.00', '1', '8', '2012-03-27 13:03:01', 0, '', '2');
INSERT INTO `smbms_bill` VALUES ('17', 'BILL2016_017', '脉动', '饮料', '瓶', '1500.00', '4500.00', '1', '7', '2016-05-10 12:00:00', 0, '', '2');
INSERT INTO `smbms_bill` VALUES ('18', 'BILL2016_018', '哇哈哈', '饮料', '瓶', '2000.00', '4000.00', '2', '6', '2015-11-24 15:12:03', 0, '', '2');
INSERT INTO `smbms_bill` VALUES ('20', 'BILL2022_002', '飞天茅台', '酒类', '箱', '100.00', '400000.00', '1', '10', '2022-05-04 11:05:22', 0, '', '1');
INSERT INTO `smbms_bill` VALUES ('21', 'BILL2017_001', '啤酒', '酒类', '瓶', '100.00', '300.00', '1', '6', '2021-10-10 10:10:10', '2', '2022-05-06 09:48:13', '1');
INSERT INTO `smbms_bill` VALUES ('23', 'BILL2022_004', '葵花籽', '炒货,干货', '斤', '1000.00', '10000.00', '1', '8', '2022-05-07 09:17:05', 0, '', '4');

 登录功能

当点击登录按钮时,发送请求至login/请求地址,因此,urls.py文件中需要定义该地址进行匹配,并将请求转发给子项目的views.py文件

urls.py

# 接收用户输入的登录的用户名和密码的地址path('login/',views.login),

 views.py

# 定义全局变量,用于保存登录成功之后的用户信息
user=[]#定义方法,用于接收用户名和密码,做登录验证
def login(request):username=request.GET["username"]password=request.GET["password"]# 将接收的用户名和密码作为查询条件,查询用户表,判断该登录的用户是否存在# 如果存在则允许该用户进入主页面,否则跳转至登录失败页面,不允许该用户登录# 将user变量指明为使用外部的全局变量global useruser=User.objects.filter(userName=username,userPassword=password)if user:# 说明该登录的用户存在,允许该用户进入主页return render(request,"home.html",{"user":user[0]})else:# 说明该登录的用户不存在,不允许进入主页,跳转至登录提示页面return render(request,"loginError.html")

 接着创建主页模板和登录失败的模板

home.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>超市订单管理系统--主页</title>
<style type="text/css">*{margin: 0px;padding: 0px;}
</style><script type="text/javascript">function yhgl() {//当用户点击用户管理功能的时候,需要判断当前登录的用户的身份,如果是管理员或者经理允许进入,普通员工不允许进入//先获得当前登录的用户的身份var input=document.getElementById("hidd");var i=input.value;switch (i) {case "1"://管理员身份//跳转一个可以操作用户的添加,修改,查询,删除等功能location.href="/yhgl/?type=1";break;case "2"://经理身份//跳转一个只能查看普通员工的个人信息的页面location.href="/yhgl/?type=2";break;case "3"://普通员工身份alert("您当前没有权限使用该功能");break;}}function gysgl() {//先获得当前登录的用户的身份var input=document.getElementById("hidd");var i=input.value;switch (i) {case "2"://能和供应商直接对接的只能是经理身份location.href="/gysgl/?type=2";break;case "3"://普通员工可以查看所有供应商信息,但不能添加,修改,删除供应商信息location.href="/gysgl/?type=3";break;default://如果不是经理,那么都不允许操作该功能alert("当前登录的员工不具备该功能的操作权限");break;}}function ddgl() {var input=document.getElementById("hidd");var i=input.value;switch (i) {case "2"://经理,只能查看所有订单,修改订单,删除订单,不能添加订单,支付金额location.href="/getBills/";break;case "3"://普通员工,添加订单和查询自己的订单location.href="/getBillsByUserId/";break;default://管理员身份不允许操作该功能alert("当前登录的员工不具备该功能的操作权限");break;}}
</script>
</head>
<body><div style="width: 1200px;height: 800px;margin: auto;"><div style="width: 100%;height: 160px;background-color:skyblue;"><div  style="width: 100%;height: 20px;"><div align="left" style="width: 20%;height: 100%;float: left;" >&nbsp;<a href="/login/?username={{ user.userName }}&password={{ user.userPassword }}" style="text-decoration: none;">返回首页</a></div><div align="right" style="width: 80%;height: 100%;float: right;"><a>欢迎,<span style="color: red;">{{ user.userName }}</span></a>&nbsp;&nbsp;<a href="/" style="text-decoration: none;">注销</a>&nbsp;</div></div><div align="center" style="width: 100%;height: 140px;line-height: 140px;"><h1>超市订单管理系统</h1></div></div><div align="center" style="width: 100%;height: 640px;background-color: pink;"><input type="hidden" id="hidd" value="{{ user.userRole }}"><input type="button"  value="用户管理"  onclick="yhgl()"  style="width: 400px;height: 160px;margin-bottom: 20px;margin-top: 20px;"><br/><input type="button"  value="供应商管理" onclick="gysgl()" style="width: 400px;height: 160px;margin-bottom: 20px;"><br/><input type="button"  value="订单管理" onclick="ddgl()" style="width: 400px;height: 160px;margin-bottom: 20px;"><br/></div></div>
</body>
</html>

loginError.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>超市订单管理系统--提示页面</title>
</head>
<body><p>登录失败,用户名不存在或者密码错误,请<a href="/">点击这里</a>进行重新登录!!!</p>
</body>
</html>

其界面效果如下

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_239721.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

54三数之和55 56有无重复元素的全排列

54 三数之和 首先想到的就是之前的两数之和&#xff0c;只要在外层遍历一遍&#xff0c;对每个元素用之前的两数之和的哈希做法&#xff0c;就刚好是O(n^2) 但是有坑的地方在于需要去重&#xff0c;并且输出的三元组也是需要顺序的&#xff01;&#xff01;然后我用set去重和重…

史上最强,这份在各大平台获百万推荐的Java核心手册实至名归

又逢“金九银十”&#xff0c;年轻的毕业生们满怀希望与忐忑&#xff0c;去寻找、竞争一个工作机会。已经在职的开发同学&#xff0c;也想通过社会招聘或者内推的时机争取到更好的待遇、更大的平台。 然而&#xff0c;面试人群众多&#xff0c;技术市场却相对冷淡&#xff0c;…

flutter 环境搭建

一、简介 Flutter 是谷歌开发的一款开源、免费的&#xff0c;基于 Dart 语言的U1框架,可以快速在i0S和Android上构建高质量的原生应用。 它最大的特点就是跨平台和高性能。Dart是由谷歌&#xff0c;在2011 年开发的计算机编程语言&#xff0c;它可以被用于Web、服务器、移动应…

服务注册配置中心Nacos

文章目录一. 前言二. 下载安装1. 下载安装包2. Windows环境安装3. Linux环境安装1. 单击模式启动2. 集群模式启动3. 远程web控制4. 注册为系统服务三. 基本使用1. 添加依赖2. 服务注册3. 配置实例集群属性4. 实例权重负载均衡5. 环境隔离6. 临时实例与非临时实例四. Nacos配置管…

python常用模块

time模块 常用操作 1.直接获取时间 time.time() #获取结果是秒数&#xff0c;即从1970年1月1日8:00起计#1671856010.9592516 2.获取结构化时间 time.localtime() #获取本地时间&#xff0c;中国为东八区&#xff0c;为上海时间 time.gmtime() …

3.2 Static Terrestrial Laser Scanners 静态地基激光扫描仪

本章节介绍的静态地基激光扫描系统指的是那些在一个固定位置的位置上对周边场景地物特征进行扫描的设备。该类型设备的扫描测量机制是&#xff0c;通过激光测距仪进行斜距测量&#xff0c;与此同时通过水平和竖直两个方向上同步运动的角度编码器来记录角度变化值&#xff08;如…

C#大型医院HIS系统源码 医院信息管理系统源码 C/S架构 VS2013+sql2012

了解更多源码内容&#xff0c;可私信我。 开发环境&#xff1a;VS2013sql2012 C/S架构 一、门诊系统&#xff1a; 1、挂号与预约系统:实现了医院门诊部挂号处所需的各种功能&#xff0c;包括门诊安排的管理&#xff0c;号表的生成及维护&#xff0c;门诊预约管理和挂号处理&…

一文带你深入理解【Java基础】· 网络编程(下)

写在前面 Hello大家好&#xff0c; 我是【麟-小白】&#xff0c;一位软件工程专业的学生&#xff0c;喜好计算机知识。希望大家能够一起学习进步呀&#xff01;本人是一名在读大学生&#xff0c;专业水平有限&#xff0c;如发现错误或不足之处&#xff0c;请多多指正&#xff0…

AQS学习

1.1 AQS 简单介绍 AQS 的全称为&#xff08;AbstractQueuedSynchronizer&#xff09;&#xff0c;这个类在 java.util.concurrent.locks 包下面。 AQS 是一个用来构建锁和同步器的框架&#xff0c;使用 AQS 能简单且高效地构造出应用广泛的大量的同步器&#xff0c; 比如我们提…

五、Arduino IDE开发esp8266环境搭建

1、安装驱动程序 (1)安装USB转串口驱动程序。 (2)根据板载的USB转串口驱动芯片选择合适驱动安装。USB转串口芯片负责和电脑之间进行数据通信。 (3)常见USB转串口驱动 CP210x驱动:CP210x USB 至 UART 桥 VCP 驱动器 - 芯科科技 CH340驱动 2、Arduino IDE环境搭建 要想使用Ar…

K8S-存储-Volume

问题 容器磁盘上的文件的生命周期是短暂的&#xff0c;这就使得在容器中运行重要应用时会出现一些问题。首先&#xff0c;当容器崩溃 时&#xff0c;kubelet 会重启它&#xff0c;但是容器中的文件将丢失——容器以干净的状态&#xff08;镜像最初的状态&#xff09;重新启动。…

【kafka】学习笔记(三)

学习笔记七、Kafka-Eagle 监控7.1 环境准备7.2 Eagle 安装7.3、修改配置文件7.4、添加环境变量7.5、启动Eagle八、Kafka-Kraft 模式8.1、Kafka-Kraft 集群部署8.2、初始化集群数据目录8.3、启动 kafka 集群8.4、测试8.5、集群启动脚本九、SpringBoot集成Kafka七、Kafka-Eagle 监…

支持设备的待机唤醒功能

系统待机唤醒功能 1 说明背景 1.1 需求 支持 GPU 进入低功耗模式&#xff0c;让用户选择降低设备的功耗 1.2 概念 上位词&#xff1a;APM, ACPI 同类词&#xff1a;睡眠模式, S0~S5 下位词&#xff1a;系统挂起, 系统唤醒, 运行时设备电源管理 1&#xff09;ACPI 在计算机…

第10章_索引优化与查询优化

第10章_索引优化与查询优化 都有哪些维度可以进行数据库调优?简言之: 索引失效、没有充分利用到索引——索引建立关联查询太多JOIN (设计缺陷或不得已的需求)——SQL优化服务器调优及各个参数设置(缓冲、线程数等)———调整my.cnf。数据过多――分库分表 关于数据库调优的…

net/http 库的客户端实现(下)

前言 上一篇文章我们讲了 net/http 库客户端 request 的构建&#xff0c;接下来继续讲构建HTTP请求之后的处理操作 net/http 库的客户端实现(上) net/http 库的客户端实现(下) net/http 库的服务端实现 启动事务 构建 HTTP 请求后&#xff0c;接着需要开启HTTP事务进行请…

Python——几个常用的数学函数

1. min()函数&#xff1a;取出给定参数的最小值 说明&#xff1a;获取指定数值或者指定序列中最小值。 print(min(1, 5)) print(min(1, 2, 3, 4, 5, 6)) print(min([2, 3, 4, 5])) 2.max()函数&#xff1a;取出给定参数的最大值 说明&#xff1a;获取指定数值或者指定序列中…

XDocReport使用入门

XDocReport 简介 XDocReport是GitHub上根据麻省理工学院许可证开源的Wrod导出框架。XDocReport可以根据ODT、Doc、Docx文档模板通过模板引擎语法&#xff08;Freemarker、Velocity&#xff09;转换为另外一种格式文档&#xff08;Doc、Docx、XHTML、PDF&#xff09;。 XDocR…

前端小知识:控制台打印(console)- 模拟Java日志打印、表格形式打印美化输出对象、代码运行时间统计

文章目录6. 控制台打印&#xff08;Console&#xff09;模拟Java日志打印格式美化对象打印&#xff08;表格形式打印输出&#xff09;日志等级输出&#xff08;让其在控制台显示时有颜色提示&#xff09;代码运行时间统计打印输出6. 控制台打印&#xff08;Console&#xff09;…

用树莓派4B安装gitlab,亲测可用~

最近成功在CentOS7上安装了gitlab&#xff0c;忽然想到是不是可以把吃灰的树莓派4B也装上gitlab&#xff0c;于是研究了一下&#xff0c;做个分享。 树莓派是4B 8G版本。本身装的是官方的64位系统。之前可能还装过一些乱七八糟的东西&#xff0c;这里就不提了。 上gitlab官网…

移动 IP(计算机网络-网络层)

目录 移动性对网络应用的影响 移动IP中数据报的转发过程 移动IP中数据报的转发过程 三角路由的低效性 解决三角路由的低效性 移动IP的标准 移动性对网络应用的影响 现在先考虑这样一种情况&#xff0c;一个用户拿着无线移动设备在一个Wi-Fi服务区内走动&#xff0c;并且边…