Как уже упоминалось в комментариях, куки - это путь. Вот простая реализация во Flask:
Добавьте эти дополнительные операторы импорта:
from flask import request, make_response
Измените def index()
, чтобы проверить, есть ли у пользователя cookie с именем пользователя:
@app.route("/")
def index():
username = request.cookies.get('username')
if username:
return redirect('login', code=302)
return redirect('signup', code=302)
Когда они регистрируются, создайте для них cookie:
@app.route('/signup', methods=['GET', 'POST'])
def signup():
form = RegisterForm()
hashed_password = generate_password_hash(form.password.data, method='sha256')
if form.validate_on_submit():
new_user = User(username=form.username.data, password=hashed_password)
db.session.add(new_user)
db.session.commit()
Вот новые строки. Мы сохраняем объект ответа, чтобы добавить к нему файл cookie и затем вернуть его.
resp = make_response(render_template('dashboard.html'))
resp.set_cookie('username', form.username.data)
return resp
Это задокументировано в быстрый запуск в разделе куки .