Я пытаюсь создать страницу входа, которая проверяет пользователей непосредственно из базы данных SQL. Я использовал сессию, как показано ниже:
from flask import Flask, session, redirect, url_for, escape, request
app = Flask(__name__)
@app.route('/login', methods=['GET', 'POST'])
def login():
username = request.form['username']
password = request.form['password']
session['username'] = username
# db.verify authenticates user from SQL DB
verifiedUser = db.verifyUser(username, password)
if verifiedUser:
session['logged_in'] = True
global currentUser
currentUser = session['username']
return redirect(url_for('home'))
else:
errormsg = "wrong password"
flash(errormsg)
print(errormsg)
return render_template('login.html', error=errormsg)
@app.route('/logout')
def logout():
# Remove the username from the session if it's there
session.pop('username', None)
return redirect(url_for('login'))
Но при таком подходе два пользователя с именами «Джек» и «Джилл» входят в систему с двух разных компьютеров, система переопределяет и принимает только одного пользователя.
Я посмотрел на вход в колбу, но у меня нет модели пользователя в моем приложении, так как я использую базу данных SQL напрямую для проверки имени пользователя и пароля. https://flask -login.readthedocs.io / en / latest / Может ли кто-нибудь предоставить пример или любой другой способ реализации сессий для работы с несколькими пользователями в Python?