Le framework Flask propose la fonction redirect(). Pour les redirections internes, on l'utilise conjointement à la fonction url_for() :
from flask import Flask, redirect, url_for app = Flask(__name__) @app.route('/') def home(): return 'Welcome to Home Page' # Redirection externe @app.route('/goto/sponsor/example_dot_com') def external_redirect(): return redirect('https://www.example.com') # Redirection interne @app.route('/test-perm-redirect') def redirect_example(): return redirect(url_for('home'), code=301)
On peut spécifier un code d'état HTML via l'option code. Les plus utilisés sont :
Il est possible de spécifier des paramètres notamment lorsque les URLs cibles sont dynamiques :
@app.route('/redirect-to-john-profile') def redirect_to_user(): return redirect(url_for('show_user_profile', user_id=110)) @app.route('/user/profile/<int:user_id>') def show_user_profile(user_id: int) : if not user_authenticaded(): return redirect(url_for('login'), code=301)