flask框架中的g对象

字号+ 编辑: 种花家 修订: 种花家 来源: 2023-09-11 我要说两句(0)

有点类似于php框架中封装的$_REQUEST对象

flask封装的g对象的定义

1.在flask中,有一个专门用来存储用户信息的g对象,g的全称的为global。

2.g对象在一次请求中的所有的代码的地方,都是可以使用的。

g对象和站点session的区别

最大的区别是,session对象是可以跨request的,只要session还未失效,不同的request的请求会获取到同一个session,但g对象不是,g对象不需要管过期时间,请求一次就g对象就被刷了一次,或者说重新赋值了一次。

g对象该如何使用呢?看代码。

文件: login.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="" method="post">
    <table>
        <tbody>
        <tr>
            <td>用户名:</td>
            <td><input type="text" name="username" placeholder="请输入用户名"></td>
        </tr>
        <tr>
            <td>密码:</td>
            <td><input type="password" name="password" placeholder="请输入密码"></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="登录"></td>
        </tr>
        </tbody>
    </table>
</form>
</body>
</html>

文件: app.py

from flask import Flask,g,render_template,request
from utils import login_log
app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'
 
@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 == '111' and password == '222':
            g.username = '111'
            login_log()
            return u'登录成功'
        else:
            return u'您的用户名或密码错误'
 
if __name__ == '__main__':
    app.run()
utils.py
from flask import g
def login_log():
    print('当前登录用户是',g.usernmae)

阅完此文,您的感想如何?
  • 有用

    0

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • flask框架知识点总结

  • linux - centos 7.x安装python3.10教程

  • Stable Diffusion webui在安装open clip时报错

  • flask框架中的SQLAlchemy orm的使用

我要说说
网上宾友点评