Я работаю в Flask, и я хочу разрешить пользователям вводить информацию в форму без входа в систему, но от них требуется вход, если они отправят форму. После входа должно получиться так, как если бы пользователь только что отправил форму (им не нужно повторно вводить какую-либо информацию).
Для хранения их информации я использовал такие сеансы. Он работает хорошо:
if request.method == "POST":
if "arg1" not in session.keys() and "arg2" not in session.keys():
session["arg1"] = request.form.get('arg1')
session["arg2"] = request.form.get('arg2')
Однако у меня проблемы с частью, необходимой для входа в систему. Я знаю, что могу использовать @login_required на всем маршруте, но я просто хочу, чтобы @login_required применялся, если запрос является методом публикации. Я пробовал просто добавить @login_required после проверки, является ли метод почтовым запросом, но он не работает.
Мой маршрут входа выглядит так:
@app.route("/login", methods = ["POST", "GET"])
def login():
#log user in
return redirect(request.args.get("next") or url_for('index'))
Кажется, мне нужны две вещи.
1: применить @login_required исключительно к почтовому запросу.
2: Чтобы request.args.get ("next") вызывал почтовый запрос, а не получал запрос
Как я мог go выполнить эти две вещи и достичь своей цели?
Спасибо!