Réorienter

Syntaxe

  • rediriger (emplacement, code, réponse)

Paramètres

Paramètre Détails
emplacement Emplacement vers lequel la réponse doit rediriger.
code (Facultatif) Le code d’état de la redirection, 302 par défaut. Les codes pris en charge sont 301, 302, 303, 305 et 307.
Réponse (Facultatif) Une classe Response à utiliser lors de l’instanciation d’une réponse. La valeur par défaut est werkzeug.wrappers.Response si non spécifié.

Le paramètre d’emplacement doit être une URL. Il peut s’agir d’une entrée brute, telle que ‘http://www.webpage.com’ ou il peut être construit avec la fonction url_for().

Transmission de données

# ... 
# same as above

@app.route('/welcome/<name>')
def welcome(name):
    return render_template('main.html', name=name)

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        # ...
        # check for valid login, assign username
        if valid:
            return redirect(url_for('main_page', name=username))
        else:
            return redirect(url_for('login_error'))
    else:
        return render_template('login.html')

Exemple simple

from flask import Flask, render_template, redirect, url_for

app = Flask(__name__)

@app.route('/')
def main_page():
    return render_template('main.html')

@app.route('/main')
def go_to_main():
    return redirect(url_for('main_page'))