具体代码如下所示
from flask import Flask, url_for, render_template, redirect, request, session, current_app
app = Flask(__name__, template_folder='templates', static_url_path='/static')
app.secret_key = "sdsfdsgdfgdfgfh"
def wrapper(func):
def inner(*args, **kwargs):
if not session.get("user_info"):
return redirect("/login")
ret = func(*args, **kwargs)
return ret
return inner
@app.route("/index", methods=["GET", "POST"])
@wrapper #自己定义装饰器时,必须放在路由的装饰器下面
def index_view():
return render_template("HomePage/index.html")
@app.route("/login", methods=["GET", "POST"]) # 指定该路由可接收的请求方式,默认为GET
def login():
if request.method == "GET":
return render_template("user/login.html")
else:
# print(request.values) #这个里面什么都有,相当于body
username = request.form.get("username")
password = request.form.get("password")
if username == "long" and password == "123":
session["user_info"] = username
# session.pop("user_info") #删除session
return redirect('/index')
else:
return render_template("user/login.html", msg="用户名或者密码错误")