Tu vas apprendre à utiliser url_for pour générer automatiquement les URL de ton application en fonction du nom de la fonction de route.
url_for ?from flask import Flask, url_for
app = Flask(__name__)
@app.route('/')
def home():
return "Bienvenue !"
with app.test_request_context():
print(url_for("home")) # Affiche "/"
Si ta route a un paramètre, tu peux le passer à url_for :
@app.route('/user/<name>')
def user(name):
return f"Bonjour {name}"
with app.test_request_context():
print(url_for("user", name="Alice"))
# Résultat : "/user/Alice"
Tu évites les erreurs si l’URL change.
Ton code est plus clair et plus facile à maintenir.
Tu peux générer des liens dynamiques dans tes templates Jinja2 :
<a href="{{ url_for('home') }}">Accueil</a>
url_for construit les URL à partir du nom des fonctions de route.redirect pour de bonnes pratiques.