笔记整理之Flask(四)

#!/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

猜你喜欢

转载自my.oschina.net/luoyedao/blog/1823204
今日推荐