私が構築しているプロジェクトのログインシステムを構築しています。私は現在、登録システムと登録ユーザーを記録するログインシステムを既に持っています。私がやろうとしている次のことは、ユーザがログインしたユーザのユーザ名を取得し、セッションに保存してWebサイトとその機能にアクセスできるようにすることです。エラーFlaskアプリケーションへのセッションの統合
ユーザーが正しい資格情報でログインすると、ユーザーのユーザー名をセッションに保存し、Webアプリケーションのメインページに再割り当てします。次のように
は今、私はエラーを取得しています:
Session object does not support item assignment
を、私は以下 は私のpythonファイルを持っているすべてのコードである。この問題を解決する方法上の任意の実用的なソリューションを見つけることができませんこのエラーに関連する:
コードを読む前に。私には秘密鍵が含まれていますが、私はここにそれを載せるつもりはありません。 以下のルートの下に向かってセッション行がなければ、ログインは正常に動作します。
from flask import Flask, render_template, request, redirect, url_for, flash
from flask import escape, session
from datetime import datetime
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
DBSession = sessionmaker(bind = engine)
session = DBSession()
@app.route('/login', methods=['get', 'POST'])
def LogIn():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
user = session.query(Users).filter_by(Username = username).first()
if user == None:
flash('The Username does not match any records')
return render_template('Login.html')
elif password != user.Password:
flash('The username/password does not match any record')
return render_template('Login.html')
else:
flash('Successfully Loged In')
session['username'] = request.form['username']
return redirect(url_for('HomePage'))
コードのどの行にそのエラーMSGが生成されます。理想的にはsessionmakerへのお電話は、あなたがして、ユーザーにあなたのクエリで使用
db_session
のようなもの、に割り当てる必要がありますか?最後の行から –秒。私は間違いをしていません。一度私はエラーを得るその行を追加 –