Flask:會話

網(wǎng)站是提供給用戶的,用戶分為會員、普通用戶、游客、管理員等。那么如何識別用戶的身份呢?

會話

會話用途之一:登錄驗證

不妨先從代碼開始...

log_in.py
@app.route('/common_user_login')
def common_log_in():
    if session.get('common'):
        return '您已登錄成功'
    else:
        return '請先登錄'

這段代碼將'/common_user_login'這個URL與common_log_in這個方案綁定,在方案中做出判定,并返回不同的結(jié)果。在這里我們發(fā)現(xiàn)了if語句中的條件為

session.get['common']

一頭霧水是嗎,我們再來看下面的代碼:

log.py
@app.route('/log')
def log():
    session['common'] = 'True'
    return redirect('/common_user_login')

多說無益,我們先跑一跑試試效果

首先我們直接在URL中輸入

127.0.0.1:5000/common_user_login


圖片.png

那如果輸入的是

127.0.0.1:5000/log


圖片.png

為什么?

仔細觀察的朋友可能會發(fā)現(xiàn),網(wǎng)址明明就是一樣的

log.py
@app.route('/log')
def log():
    session['common'] = 'True'
    return redirect('/common_user_login')

我們來回顧以下log.py。將'/log'這個URL綁定為一個叫做log的方案,在這個方案中,經(jīng)過了一句session['common'],最終重定向到了'/common_user_login'的URL中。

重定向相關(guān)的內(nèi)容將在之后說明

那么經(jīng)過的這句話,就是對session(會話)的一個定義。session可以理解為一個字典,session['common'] = 'True' 的含義為,將common這個索引的值賦值為'True'這個字符串。當(dāng)然你也可以賦值為其他的,比如:

session['common'] = 'I am good'

True只是一個字符串哦
在經(jīng)過初始化之后,

log_in.py
def common_log_in():
    if session.get('common'):
        return '您已登錄成功'
    else:
        return '請先登錄'

當(dāng)中的if session.get('common')語句返回值為1,含義為在session當(dāng)中,對于索引名為'common'找到對應(yīng)項了,于是,程序返回了'您已登錄成功'

我們來看一下整個程序的代碼

from flask import Flask, session, redirect
app = Flask(__name__)
app.config['SECRET_KEY']='hereismykeytosession'

@app.route('/common_user_login')
def common_log_in():
    if session.get('common'):
        return '您已登錄成功'
    else:
        return '請先登錄'

@app.route('/log')
def log():
    session['common'] = 'True'
    return redirect('/common_user_login')

if __name__ == '__main__':
    app.run(debug = True)

要注意的是,flask中的會話session需要配置"密碼",也就是

app.config['SECRET_KEY']='hereismykeytosession'

這一語句。
session默認(rèn)過期時間為你關(guān)閉瀏覽器或清楚緩存時,當(dāng)然你也可以設(shè)置過期時間

app.config['PERMANENT_SESSION_LIFETIME'] =

會話session的內(nèi)容大致就是這些啦!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容