flask-login: после авторизации перебрасывает на none страницу
Написал методы регистрации и авторизации. Регистрация работает исправно, данные в базу записываются. Но когда хочу авторизоваться, при вводе корректного логина и пароля, которые записаны в базе данных, перебрасывает не на redirect(next_page), а на url #/none. Как исправить?
@app.route('/login', methods=["GET", "POST"])
def login():
login = request.form.get('login')
password = request.form.get('password')
if login and password:
user = User.query.filter_by(login=login).first()
if user and check_password_hash(user.password, password):
login_user(user)
next_page = request.args.get('next')
return redirect(next_page)
else:
flash('Неправильный логин или пароль')
else:
flash('Пожалуйста заполните поля авторизации')
return render_template('login.html')
@app.route('/logout', methods=["GET", "POST"])
@login_required
def logout():
logout_user()
return redirect(url_for('index'))
@app.route('/register', methods=["GET", "POST"])
def register():
login = request.form.get('login')
password = request.form.get('password')
password2 = request.form.get('password2')
if request.method == "POST":
if not (login or password or password2):
flash('Пожалуйста заполните поля')
elif password != password2:
flash('Пароли не совпадают')
else:
hash_pwd = generate_password_hash(password)
new_user = User(login=login, password=hash_pwd)
db.session.add(new_user)
db.session.commit()
return redirect(url_for('login'))
return render_template('register.html')
@app.after_request
def redirect_to_signin(response):
if response.status_code == 401:
return redirect(url_for('login') + '?next=' + request.url)
return response
{% block content %}
{% block content %}
<div class="container_auth">
<h2 class="authnamecon">Авторизация</h2>
<a href="{{ url_for('register') }}" class="auth-register-btn">Регистрация</a>
{% with messages = get_flashed_messages() %}
{% if messages %}
<div class=flashes>
{% for message in messages %}
<p>{{ message }}</p>
{% endfor %}
</div>
{% endif %}
{% endwith %}
<form id="signin" method="post" autocomplete="off">
<input class="auth-form" type="text" name="login" placeholder="Логин" required>
<input class="pass-form" type="password" name="password" placeholder="Пароль" required>
<button class="btn-auth-form" type="submit">Войти</button>
</form>
</div>
<div class="section-separator-figure"></div>
{% endblock content %}