Мое приложение терпит неудачу, когда я вызываю login_user
с ошибкой NotImplementedError: No 'id' attribute - override 'get_id'
. Мой пользователь имеет атрибут id. Почему это не удается?login_user не может получить идентификатор пользователя
if form.validate_on_submit():
user = User.query.filter_by(email=form.email.data).first()
if user is not None and user.verify_password(form.password.data):
print(user.user_id)
login_user(user, False)
return jsonify({'response': user.user_id})
class User(UserMixin, db.Model):
__tablename__ = 'users'
user_id = db.Column(db.Integer, primary_key = True)
username = db.Column(db.String(64), unique=True, index=True)
email = db.Column(db.String(64), unique=True, index=True)
password_hash = db.Column(db.String(128))
Я написал исключение, но это не дало мне никакой полезной информации. Каким будет правильное исключение для этой ситуации? – Brosef
Flask-Login * повышает * исключение, вы его не пишете. Он будет отображаться в режиме трассировки в режиме отладки. Если это не так, у вас было что-то еще неправильно сконфигурированное. – davidism