Redirect back in Flask Redirect back in Flask flask flask

Redirect back in Flask


I'm using the helper function which is recommended here: http://flask.pocoo.org/docs/reqcontext/

def redirect_url(default='index'):    return request.args.get('next') or \           request.referrer or \           url_for(default)

Use it in in the view

def some_view():    # some action    return redirect(redirect_url())

Without any parameters it will redirect the user back to where he came from (request.referrer). You can add the get parameter next to specify a url. This is useful for oauth for example.

instagram.authorize(callback=url_for(".oauth_authorized",                                                next=redirect_url(),                                                _external=True))

I also added a default view if there should be no referrer for some reason

redirect_url('.another_view')

The snippet you linked basically does the same but more secure by ensuring you cannot get redirected to a malicious attacker's page on another host.