我正在嘗試使用燒瓶會話驗證用戶。問題是,每當我嘗試為會話分配值時,都會收到錯誤訊息:
TypeError:“型別”物件不支持專案分配
我已經看到了這個堆疊溢位問題,并且我一直在使用諸如this one之類的指南,但是我一直無法解決這個問題。
代碼:
from flask import Flask, redirect, url_for, request, render_template
from flask_session import Session
if request.method == 'POST':
username = request.form['un']
password = request.form['pw']
Session['name'] = request.form['un'] #this is where my error is occuring
else:
username = request.args.get('un')
password = request.args.get('pw')
Session["name"] = request.args.get('un')
我認為我的錯誤可能與 相關request.form['un'],所以我將代碼更改為:
from flask import Flask, redirect, url_for, request, render_template
from flask_session import Session
if request.method == 'POST':
username = request.form['un']
password = request.form['pw']
Session['test'] = 'test' #still have an error here
else:
username = request.args.get('un')
password = request.args.get('pw')
Session["test"] = "test"
應用程式設定如下:
app = Flask(__name__, template_folder='template')
app.config["SESSION_PERMANENT"] = True
app.config["SESSION_TYPE"] = "filesystem"
app.secret_key = 'why would I tell you my secret key?'
app.config.from_object(__name__)
Session(app)
如果這很愚蠢,那么我為浪費您的時間而道歉:)。我將不勝感激任何幫助。謝謝
uj5u.com熱心網友回復:
您正在嘗試將值分配給 Session 物件。
如果您檢查專案 repo上的示例,您會看到它將值分配給flask session,而不是 flask_session 的 Session 物件:
from flask import Flask, session
from flask_session import Session
SESSION_TYPE = 'redis'
app = Flask(__name__)
app.config.from_object(__name__)
Session(app)
@app.route('/set/')
def set():
# check here
# it is flask's session, not flask_session's Session object
session['key'] = 'value'
return 'ok'
@app.route('/get/')
def get():
return session.get('key', 'not set')
if __name__ == "__main__":
app.run(debug=True)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/472999.html
上一篇:Nodejs會話注銷問題
