第四篇 做一个用户登录之后查看学员信息的小例子
需求:
1. 用户名: oldboy 密码: oldboy123
2. 用户登录成功之后跳转到列表页面
3. 失败有消息提示,重新登录
4.点击学生名称之后,可以看到学生的详细信息
后端:
1 from flask import Flask2 from flask import request3 from flask import render_template4 from flask import redirect5 6 USER = {'username': 'oldboy', 'password': "oldboy123"}7 8 STUDENT_DICT = {9 1: {'name': 'Old', 'age': 38, 'gender': '中'}, 10 2: {'name': 'Boy', 'age': 73, 'gender': '男'}, 11 3: {'name': 'EDU', 'age': 84, 'gender': '女'}, 12 } 13 14 app = Flask(__name__) 15 16 17 @app.route("/login", methods=["GET", "POST"]) 18 def login(): 19 if request.method == "POST": 20 if request.form["username"] == USER["username"] and request.form["password"] == USER["password"]: 21 return redirect("/student_list") 22 return render_template("login.html", msg="用户名密码错误") 23 24 return render_template("login.html", msg=None) # 如果前端Jinja2模板中使用了msg,这里就算是传递None也要出现msg 25 26 27 @app.route("/student_list") 28 def student(): 29 return render_template("student_list.html", student=STUDENT_DICT) 30 31 32 @app.route("/info") 33 def student_info(): 34 stu_id = int(request.args["id"]) 35 stu_info = STUDENT_DICT[stu_id] 36 return render_template("student.html", student=stu_info, stu_id=stu_id) 37 38 39 app.run("0.0.0.0", 5000, debug=True)
前端:
login.html:
1 <!DOCTYPE html>2 <html lang="en">3 <head>4 <meta charset="UTF-8">5 <title>Welcome to Old Boy EDU</title>6 </head>7 <body>8 <form method="post">9 用户名:<input type="text" name="username"> 10 密码:<input type="text" name="password"> 11 <input type="submit" value="登录"> 12 {{ msg }} 13 </form> 14 </body> 15 </html>
student_list.html:
1 <!DOCTYPE html>2 <html lang="en">3 <head>4 <meta charset="UTF-8">5 <title>Old Boy EDU</title>6 </head>7 <body>8 Welcome to Old Boy EDU9 <table border="2xp"> 10 <thead> 11 <tr> 12 <td>id</td> 13 <td>name</td> 14 <td>option</td> 15 </tr> 16 </thead> 17 <tbody> 18 {% for foo in student %} 19 <tr> 20 <td>{{ foo }}</td> 21 <td>{{ student[foo].name }}</td> 22 <td><a href="/info?id={{ foo }}">详细</a></td> 23 </tr> 24 {% endfor %} 25 </tbody> 26 </table> 27 </body> 28 </html>
student.html
1 <!DOCTYPE html>2 <html lang="en">3 <head>4 <meta charset="UTF-8">5 <title>Old Boy EDU</title>6 </head>7 <body>8 Welcome to Old Boy EDU9 <table border="1px"> 10 <thead> 11 <tr> 12 <td>id</td> 13 <td>name</td> 14 <td>age</td> 15 <td>gender</td> 16 </tr> 17 </thead> 18 <tbody> 19 <tr> 20 <td>{{ stu_id }}</td> 21 <td>{{ student.name }}</td> 22 <td>{{ student["age"] }}</td> 23 <td>{{ student.get("gender") }}</td> 24 </tr> 25 </tbody> 26 </table> 27 <div><a href="/student_list">返回</a></div> 28 </body> 29 </html>
转载于:https://www.cnblogs.com/zpf666/p/10438462.html
第四篇 做一个用户登录之后查看学员信息的小例子相关推荐
- Flask初识,第五篇 ,做一个用户登录之后查看学员信息的小例子
Flask最强攻略 - 第五篇 做一个用户登录之后查看学员信息的小例子 需求: 1. 用户名: oldboy 密码: oldboy123 2. 用户登录成功之后跳转到列表页面 3. 失败有消息提示,重 ...
- 限制在同一台电脑上只允许有一个用户登录系统
在web应用系统中,出于安全性考虑,经常需要对同一客户端登录的用户数量和一个客户同时在多个客户端登陆进行限制. 具体一点就是: 1.在同一台电脑上一次只允许有一个用户登录系统: 2.一个用户在同一时间 ...
- java限制在同一台电脑上只允许有一个用户登录系统
在web应用系统中,出于安全性考虑,经常需要对同一客户端登录的用户数量和一个客户同时在多个客户端登陆进行限制. 具体一点就是: 1.在同一台电脑上一次只允许有一个用户登录系统: 2.一个用户在同一时间 ...
- 【新手向】Python做一个简易登录注册GUI界面(无事件绑定)
Python做一个简易登录注册GUI界面 一,效果展示 (1)运行结果: (2)点击登录: 注:只有用户名:123 密码123456 会提示登录成功. 登录成功示范: 登录失败示范: (3)点击注册 ...
- flutter 一个用户登录页面
一个用户登录页面 输入校验 import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart';void m ...
- Python模拟一个用户登录系统
题目:模拟一个用户登录系统,用户输入用户名和密码,输入正确即可进入系统 直接上代码: #模拟一个用户登录系统,用户输入用户名和密码,输入正确即可进入系统 d=['yao','123456']while ...
- 飞鱼开发框架(四) 窗体自动获取用户登录信息
为了在整个项目中能够方便的获取登录后用户的信息,在飞鱼框架中将用户登录后的相关信息保存后可以通过窗体继承no1.common.window.BaseForm这个窗体来获取.使用的时候就像读取全局变量一 ...
- python日历小程序_一个查看网络设备信息Python小程序
原标题:一个查看网络设备信息Python小程序 网络编程中,最常见的一个问题就是,获取设备信息. 首先我们,要学习如何获取本机的网络信息.我们将用到标准库中的socket库.假如说,我们要查看本机的 ...
- 【数据库篇】——4.用户登录注册系统设计和分析思路
学习下一节:util包中创建数据库连接的工具类DBUtil.java 1.功能需求分析 本系统的功能就两个:用户登录和注册. a.用户登录需要我们根据用户的输入的信息到数据查询用户的账号密码是否能够匹 ...
最新文章
- 《扩展 jQuery》——6.3 总结
- 深入理解最大池化为什么能够实现不变性?
- Mybatis通过colliection属性递归获取菜单树
- 玩转信息安全之【从HTTP到HTTPS,从SSL到TLS】
- json格式与cJSON函数库
- 旋转动画用控件RotateView
- Spring Boot集成Redis缓存之模拟高并发场景处理
- Android开发之InstanceState详解
- 普通摄像头游戏——空中飞车
- T-SQL DATEPART() Functions
- Java高级工程师常见面试题(答案)
- Windows Message Queue 优先队列
- 【GA MTSP】基于matlab遗传算法求解多旅行商问题(同始终点)【含Matlab源码 1338期】
- 2cm有多长实物图_2cm 2cm有多长实物图
- 阿拉伯数字转人民币大写
- java winrar_Java使用winrar解压缩 | 学步园
- 使用Arduino和四位数码管实现数字时钟
- 支付宝小程序打开淘系域名
- Tftp32连接开发板遇到的问题
- 哪些人适合报考消防工程师?