Использование входа в колбу, попытка входа в систему пользователя после регистрации пользователем. user_login() работает для моего логина, однако после регистрации он перенаправляется на маршрут входа, а не на главную страницу. Поэтому мой вопрос: может ли login_user() работать только на маршруте «входа»?Flask-Login: войти в систему и переадресовать на домашнюю страницу после регистрации
Вот основной вариант того, что я сейчас:
class User(flask_login.UserMixin):
def __init__(self, userName, email, firstName):
self.userName = userName
self.id = email
self.email = email
self.firstName = firstName
@login_manager.user_loader
def user_loader(email):
""" code to get userdata from database """
user = User(userName,email,firstName)
return user
@app.route('/register', methods=['GET','POST'])
def register():
if request.method == 'GET':
return render_template('register.html')
elif request.method == 'POST':
""" code for creating user from form data """
#create session for user
user = User(userName,email,firstName)
flask_login.login_user(user)
return redirect(url_for('home'))
@app.route('/login', methods=['GET','POST'])
def login():
if request.method == 'GET':
return render_template('login.html')
elif request.method == 'POST':
""" code for authorizing a user """
user = User(userName,email,firstName)
flask_login.login_user(user)
return flask.redirect(flask.url_for('home'))
else:
return render_template('login.html')
@app.route('/home')
@flask_login.login_required
def home():
return render_template('home.html')
UPDATE: я не нагружал мой пользователь правильно в моем user_loader
O стрелять я забыл добавить эту строку в моем вопросе тексте. - Я пробовал эту штуку в своем действительном коде, и все равно безуспешно. Однако должно ли быть возможно, что пользователь login_user в регистровом маршруте правильный? – dasqueel
Да, обычно, когда они регистрируются, вы вызываете login_user, чтобы сразу их регистрировать. –
Кажется, что login_user (пользователь) выполняет и перенаправляет его из реестра на дом, однако у меня есть login_required() для моей домашней страницы, а когда login_required() терпит неудачу, он перенаправляется на страницу входа. - Итак, у меня сейчас 1: я регистрируюсь, 2: перенаправляет меня домой 3: не удалось login_required() 4: перенаправляет меня на логин - надеюсь, эта информация помогает? – dasqueel