I have a protected view in my app which just accepts POST requests.
@app.route("/booking", methods=("POST", ))
@login_required
def booking():
arg1 = request.form.get("arg1")
arg2 = request.form.get("arg2")
When an unauthorized user tries to access this view, I want them to login and then be redirected here.
Right now, my login view looks like this:
@app.route("/login", methods=("GET", "POST"))
@login_required
def login():
do_login()
return redirect(request.args.get('next') or url_for('home'))
So what ends up happening is a POST request to /booking (which is the
"next" parameter) and I get a NOT ALLOWED error.
The problem is that login() makes a GET request to booking(). I can
get around that, but I am not sure how to retrieve the original POST
form arguments from /booking? Any ideas to get round that?