Моя система входа работает хорошо с точки зрения соединения с БД.Тем не менее, как-то мой шаблон jinja показывает account/logout
, как только пользователь загружает сайт вместо login/register
.Но когда пользователи переходят на account
, они переходят на login
.Другими словами, все наоборот.
Я выполнил следующее условие:
{% if session['email'] == None %}
<li class="nav-item">
<a class="nav-link" href="{{url_for('login')}}">Login</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{url_for('register')}}">Register</a>
</li>
<!--WILL DISPLAY HOME/LOGIN/REGISTER WHEN LOGGED IN-->
{% else %}
<li class="nav-item">
<a class="nav-link text-success" href="{{url_for('user')}}">Account</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{url_for('logout')}}">Logout</a>
</li>
{% endif %}
Кроме того, я почти уверен, что шаблон не проблема, скореефункция входа, которую я пытаюсь исправить, но безуспешно:
@app.route('/login', methods=['POST', 'GET'])
def login():
if request.method == 'GET':
return render_template('login.html')
else:
user = mongo.db.user
login_user = user.find_one({
'email': request.form.get('email'),
'password':request.form.get('password'
)})
if login_user:
session['email'] = login_user['email']
session['name'] = login_user['name']
return redirect(url_for('user'))
return 'Invalid username or password combination'