Flask / Werkzeug, как вернуть предыдущую страницу после входа в систему

Я использую микро-фреймворк Flask, основанный на Werkzeug, который использует Python.

Перед каждой запрещенной страницей есть декоратор, который гарантирует, что пользователь вошел в систему, и в настоящее время возвращает его на страницу входа, если он не вошел в систему, например:

# Decorator
def logged_in(f):
    @wraps(f)
    def decorated_function(*args, **kwargs):
        try:
            if not session['logged_in']:
                flash('Please log in first...', 'error')
                return redirect(url_for('login'))
            else:
                return f(*args, **kwargs)
        except KeyError:
            flash('Please log in first...', 'error')
            return redirect(url_for('login'))
    return decorated_function


# Login function
@app.route('/', methods=['GET', 'POST'])
def login():
    """Login page."""
    if request.method=='POST':
    ### Checks database, etc. ###
    return render_template('login.jinja2')


# Example 'restricted' page
@app.route('/download_file')
@logged_in
def download_file():
    """Function used to send files for download to user."""
    fileid = request.args.get('id', 0)
    ### ... ###

После входа в систему необходимо вернуть пользователей на страницу, которая перевела их на страницу входа. Он также должен сохранять такие вещи, как переданные переменные (то есть вся ссылка в основном www.example.com/download_file?id=3)

Кто-нибудь знает как это сделать?

Спасибо за помощь :-)

Ответы на вопрос(2)

Ваш ответ на вопрос