Flask / Werkzeug, wie man nach dem Einloggen zur vorherigen Seite zurückkehrt

ch verwende das Flask-Mikro-Framework, das auf Werkzeug basiert und Python verwende

Vor jeder eingeschränkten Seite gibt es einen Dekorator, der sicherstellt, dass der Benutzer angemeldet ist, und der ihn aktuell zur Anmeldeseite zurückbringt, wenn er nicht angemeldet ist. Beispiel:

# 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)
    ### ... ###

Nach der Anmeldung müssen Benutzer zu der Seite zurückkehren, die sie zur Anmeldeseite geführt hat. Es muss auch Dinge wie die übergebenen Variablen (d. H. Den gesamten Link im Grunde genommen www.example.com/download_file?id=3) beibehalten

Weiß jemand, wie das geht?

Danke für deine Hilfe :-

Antworten auf die Frage(4)

Ihre Antwort auf die Frage