博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flask最强攻略 - 跟DragonFire学Flask - 第五篇 做一个用户登录之后查看学员信息的小例子...
阅读量:4318 次
发布时间:2019-06-06

本文共 2811 字,大约阅读时间需要 9 分钟。

需求:

1. 用户名: oldboy 密码: oldboy123

2. 用户登录成功之后跳转到列表页面

3. 失败有消息提示,重新登录

4.点击学生名称之后,可以看到学生的详细信息

 

后端:

1 from flask import Flask 2 from flask import request 3 from flask import render_template 4 from flask import redirect 5  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也要出现msg25 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  2  3  4     
5 Welcome to Old Boy EDU 6 7 8
9 用户名:
10 密码:
11
12 {
{ msg }}13
14 15
登录页面前端代码

student_list.html:

1  2  3  4     
5 Old Boy EDU 6 7 8 Welcome to Old Boy EDU 9
10
11
12
13
14
15
16
17
18 {% for foo in student %}19
20
21
22
23
24 {% endfor %}25
26
id name option
{
{ foo }}
{
{ student[foo].name }}
详细
27 28
一点儿也不难

student.html

1  2  3  4     
5 Old Boy EDU 6 7 8 Welcome to Old Boy EDU 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
id name age gender
{
{ stu_id }}
{
{ student.name }}
{
{ student["age"] }}
{
{ student.get("gender") }}
27
28 29
写不出来说明你没动脑子

 

思考题:

1.如果我直接访问 /student_list 和 /student 是不是也可以?

2.怎么才能在所有的url地址中校验是否登录?

 

第五篇,完结

转载于:https://www.cnblogs.com/DragonFire/p/9260124.html

你可能感兴趣的文章
nginx日志切割脚本
查看>>
ipvsadm添加虚拟服务器报错问题
查看>>
LVS-DR集群搭建脚本
查看>>
Docker拉取的镜像源更改为国内的镜像源
查看>>
LVS健康检查脚本
查看>>
PowerCLI 对vm批量关机
查看>>
拿来即用学PYTHON:序
查看>>
github+jenkins+maven+docker自动化构建部署
查看>>
前端禁止鼠标右键、禁止全选、复制、粘贴
查看>>
六. k8s--ingress学习笔记
查看>>
二. python数组和列表
查看>>
七. k8s--volumes之pv pvc学习笔记
查看>>
八. k8s--configmap学习笔记
查看>>
十. k8s--访问控制 serviceaccount和RBAC 学习笔记
查看>>
九. k8s--statefulset控制器
查看>>
十一. k8s--dashboard部署
查看>>
shell解析xml文件
查看>>
十二. k8s--网络策略flannel与canal学习笔记
查看>>
十三. k8s--调度器
查看>>
十四. k8s资源需求和限制, 以及pod驱逐策略
查看>>