#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import functools
from flask import Flask,session,redirect,render_template,request
app = Flask("xxxx")
app.secret_key = "as9231rjks9d8fwlkxlduf"
#before_request没参数没返回值,可以指定参数和返回值。请求进来先走before_request
@app.before_request
def bf():
if request.path == '/login':
return None
user_info = session.get('user_info')
if not user_info:
return redirect('/login')
#after_request有参数有返回值
@app.after_request
def af(response):
print('after_request')
return response
@app.route('/order',methods=['GET'])
def order():
return "order"
@app.route("/index")
def index():
return "index"
@app.route("/login",methods=['GET','POST'])
def login():
if request.method == "GET":
return render_template("login.html")
else:
user = request.form.get('user')
pwd = request.form.get('pwd')
if user == "user" and pwd == "123":
return "登录成功"
return render_template("login.html",msg='用户名或密码错误')
return render_template("login.html", **{'msg':'用户名或密码错误'})
@app.route("/logout",methods=['GET'])
def logout():
del session['user_info']
return redirect('/login')
if __name__ == '__main__':
app.run()
#!/usr/bin/env python # -*- coding: UTF-8 -*- import functools from flask import Flask,session,redirect,render_template,request app = Flask("xxxx") app.secret_key = "as9231rjks9d8fwlkxlduf" #before_request是谁在上面先执行谁 @app.before_request def bf(): print("before_request") @app.before_request def bf1(): print("before_request1") @app.before_request def bf2(): print("before_request2") #after_request谁在下面先执行谁 @app.after_request def af(response): print('after_request') return response @app.after_request def af1(response): print('after_request1') return response @app.after_request def af2(response): print('after_request2') return response @app.route('/order',methods=['GET']) def order(): return "order" @app.route("/index") def index(): print("index") return "index" if __name__ == '__main__': app.run()
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
before_request
before_request1
before_request2
index
after_request2
after_request1
after_request