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.交流群: 2702237 13835667

相關課文
  • 通過i參數使用國内鏡像給pip安裝提速

  • Conda刪除不用的虛擬環境

  • flask框架知識點總結

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

我要說說
網上賓友點評