Flask g 对象

1.什么是g对象?

  1. 在 flask 中,有一个专门用来存储用户信息的 g 对象,g的全称的为global。
  2. g 对象在一次请求中的所有的代码的地方,都是可以使用的。

赋值方式

from flask import Flask, g, render_template, request
from ulits import login_log

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'index'

@app.route('/login/', methods=['GET', 'POST'])
def login():
    if request.method == 'GET':
        return render_template('login.html')
    else:
        username = request.form.get('username')
        password = request.form.get('password')
        if username == 'zhiliao' and password == '111111':
            g.username = username
            login_log()
            return '恭喜您!登录成功'
        else:
            return '登录名或密码错误!'


if __name__ == '__main__':
    app.run(debug=True, host='127.0.0.1', port=8081)

调用方式

from flask import g

def login_log():
    print('登录名为: {}'.format(g.username))

2.g对象和session的区别

在我看来,最大的区别是,session对象是可以跨request的,只要session还未失效,不同的request的请求会获取到同一个session

但是g对象不是,g对象不需要管过期时间,请求一次就g对象就改变了一次,或者重新赋值了一次

那么g对象该如何使用呢?看代码。
login.html

猜你喜欢

转载自www.cnblogs.com/kai-/p/12534321.html
今日推荐