Я создаю систему входа для проекта, который я создаю. У меня уже есть система регистрации, а также система входа в систему, которая будет регистрировать зарегистрированного пользователя. Следующее, что я пытаюсь сделать, это получить имя пользователя пользователя, с которым он вошел, и сохранить его в сеансе, чтобы они могли получить доступ к веб-сайту и его функциям.Ошибка Интеграция сессий в мое приложение Flask
Что происходит, когда пользователь вошел в систему с правильными учетными данными, я хочу сохранить имя пользователя пользователя в сеансе и переадресовать его на главную страницу веб-приложения.
Теперь я получаю ошибку следующим образом:
Session object does not support item assignment
, и я не могу найти рабочее решение о том, как решить эту проблему Ниже весь код, который у меня есть в моем файле питона, который релевантные этой ошибке:
Перед чтением кода. У меня есть секретный ключ, но я не собираюсь публиковать его здесь. Вход в систему корректно работает без строки сеанса в нижней части маршрута ниже.
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'))
На какой строке кода является то, что сообщ ошибка генерируется? –
секунд из последний линия. без строки я не получаю ошибку. Как только я добавлю эту строку, я получу ошибку. –