Я создаю логин с помощью flask и flask-login, и аутентификация работает отлично. Когда пользователь аутентифицируется, он должен автоматически перенаправляться на домашнюю страницу (которая недоступна для незарегистрированного пользователя). Проблема в том, что функция flask.redirect
просто возвращает мне html-код домашней страницы вместо перенаправления на эту страницу. Я вижу html-код в объекте ответа внутри консоли браузера. Как я могу решить? Вот соответствующий код:
@app.route('/home')
@flask_login.login_required
def home():
return render_template('home.html')
@app.route('/login', methods=['GET', 'POST'])
def login():
if(request.method == 'GET'):
return render_template('login.html')
email = request.form['email']
passwd = request.form['passwd']
data = getUsersData()
for key in data:
if(email == data[key]['email'] and passwd == data[key]['pass']):
user = User()
user.id = email
flask_login.login_user(user, remember=True)
next = request.args.get('next')
if(next):
return redirect(next)
else:
return redirect(url_for('home'))
abort(401) # if inside the for, it can't find valid username and password
Я хотел бы, чтобы при успешной аутентификации браузер перенаправлял меня на localhost:10000/home
РЕДАКТИРОВАТЬ: Журнал терминала с запросами GET и POST на /home
РЕДАКТИРОВАТЬ 2: объект ответа
home.html
, которую я передаю в качестве аргумента функцииrender_template
внутри маршрута/home
. Что я должен написать в маршруте/home
, чтобы сделать редирект наlocalhost:10000/home
? 05.10.2016localhost:10000
? На каком порту вы обслуживаете свои основные страницы приложения? 05.10.2016localhost:10000
— это порт, на котором мой сервер обслуживает API. Логин обслуживается вlocalhost:10000/login
, в то время как домашняя страница является сервером вlocalhost:10000/home
, и я хочу, чтобы меня перенаправляли наlocalhost:10000/home
, если вход завершен успешно 05.10.2016header
в php 05.10.2016'home.html'
. 05.10.2016responseText
05.10.2016window.location.replace(url)
со стороны клиента. 05.10.2016window.location.replace(url)
? 01.04.2021