В моем приложении я пытаюсь добавить аутентификацию пользователя, используя flask -login. Я получаю сообщение об ошибке AttributeError: у объекта 'str' нет атрибута 'is_active'. Я сослался на какую-то ссылку PYTHON - Flask: у объекта «Пользователь» нет атрибута «is_active» и попробовал метод. Он не работает. models.py
from flask_login import UserMixin
from app import login_manager
class Login(db.Model,UserMixin):
"Creates username and password"
id = db.Column(db.Integer,primary_key=True,nullable=False)
username = db.Column(db.String,nullable=False)
password = db.Column(db.String,nullable=False)
@login_manager.user_loader
def load_user(user_id):
return Login.query.get(int(user_id))
мой rout.py
def validate(username):
"Validate the username and passowrd"
exists = db.session.query(db.exists().where(Login.username == username)).scalar()
print(exists)
return exists
def password_validate(password):
"Validate the username and passowrd"
exists = db.session.query(db.exists().where(Login.password == password)).scalar()
return exists
@app.route('/login', methods=['GET', 'POST'])
def login():
error = None
if request.method == 'GET':
return render_template('login.html', error=error)
if request.method == 'POST':
username = request.form.get('username')
password = request.form.get('password')
data = {'username':username,'password':password}
completion = validate(username)
if completion ==False:
print("I am first false")
error = 'error.'
else:
print("I am first else")
password_check = password_validate(password)
if password_check ==False:
print("I am second if")
error = 'error.'
else:
print("I am second else")
login_user(username)
error = 'Success'
api_response = {'data':data,'error':error}
return jsonify(api_response)
мой app.py
from flask_login import LoginManager
login_manager = LoginManager()
login_manager.init_app(app)
Но я столкнулся с еще одной проблемой Невозможно import flask -login error in from flask_login import LoginManager