Как в flask узнать авторизирован ли юзер и если нет напрвить его в login
Как в flask узнать авторизирован ли юзер и если нет напрвить его в login
код:
class User(db.Model,UserMixin):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(128), unique=True, nullable=False)
password = db.Column(db.String(255), primary_key=True, nullable=False)
@app.route('/login', methods=['GET','POST'])
def login():
user = request.form.get('user')
password = request.form.get('password')
if login and password:
userlog = User.query.filter_by(login=login).first()
if user and check_password_hash(userlog.password, password):
login_user(userlog)
redirect(url_for['myprogrece'])
else:
flash('Login or passwort incorect')
else:
flash('Please fill')
return render_template('login.html')
Ответы (1 шт):
Автор решения: Matvey Chekashov
→ Ссылка
Необходимо использовать @login_required
В конце добавьте такой код(Для указания ссылки куда попадёт пользователь в случае если он не авторизован):
@application.after_request
def redirect_to_sign(response):
if response.status_code == 401:
return redirect(url_for('login'))
return response
После этого используйте @login_required Пример:
@app.route('/admin')
@login_required
def admin():
return '<h1>Admin page</h1>'