flask知识点
1.后端渲染html到前端
render_template
2.后端获取前端数据
request.args.get
3.前端获取后端数据
模板
4.警示消息 flash
{{ get_flashed_messages()[0] }}
第一个 hello maotai
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello Mao Tai!'
if __name__ == '__main__':
app.run(debug=True)
用户登录: 没时间了,上车
分析需求
访问/login, 提示登录页(输入用户名密码)
如果没输入用户名 或密码 分别警示,让重新输入
如果输入错误,则提示用户名密码错误
点击登陆 /loginaction,转到用户详情页user.html
app.py
from flask import Flask, render_template, request, flash
from models import User
app = Flask(__name__)
app.secret_key = "123"
# 3.登录, 登录后展示欢迎页
@app.route("/login")
def login():
return render_template("login.html")
@app.route("/loginaction")
def loginaction():
user = request.args.get("user")
pwd = request.args.get("pwd")
if not user:
flash("pls input user")
return render_template("login.html")
if not pwd:
flash("pls input pwd")
return render_template("login.html")
if user == "admin" and pwd == "123456":
flash("welcome")
#传回字典
return render_template("user.html", user={'user': user, 'pwd': pwd})
return render_template("login.html")
# 1 返回html
@app.route("/")
def index():
return render_template("index.html")
# 2 渲染模板
@app.route("/user")
def user_index():
user = User("cristin", "123345")
return render_template("user.html", user=user)
app.run(debug=True)
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>login</title>
</head>
<body>
<form action="/loginaction">
{{ get_flashed_messages()[0] }}<br>
user: <input type="text" name="user"><br>
pwd: <input type="text" name="pwd"><br>
<input type="submit">
</form>
</body>
</html>
user.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>user</title>
</head>
<body>
{{ user.user }}
{{ user.pwd }}
</body>
</html>