Construire des URL avec url_for
Générez des liens à partir des noms de points d’entrée, plutôt que de chemins codés en dur.
Construire des URL avec url_for est une leçon Flask Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Flask Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Flask Academy comprend 4 leçons au total.
Les URL codées en dur sont fragiles
Écrire "/user/alice" à la main pose problème dès que vous renommez une route. Flask propose url_for pour construire les liens à partir des noms de vos vues.
Construire à partir du nom du point d'accès
url_for prend le nom de la fonction de vue et renvoie son chemin. Si vous modifiez ensuite la chaîne de route, chaque lien généré est automatiquement mis à jour. 🔗
from flask import url_for
url_for('home')Le point d'accès est le nom de la fonction
Par défaut, le point d'accès est le nom de la fonction de vue, et non son chemin URL. Ainsi, def home() est référencé par url_for('home').
@app.route('/')
def home():
return 'Hi'Transmettre des valeurs dynamiques
Pour les routes comportant des éléments capturés, fournissez-les sous forme d'arguments nommés. url_for place chaque valeur dans l'emplacement correspondant entre chevrons.
url_for('profile', name='alice')
# -> '/user/alice'Les arguments supplémentaires deviennent des chaînes de requête
Les arguments qui ne correspondent à aucun emplacement de route sont ajoutés comme chaîne de requête. Ainsi, transmettre page=2 ajoute ?page=2 à l'URL générée.
url_for('search', q='cats', page=2)
# -> '/search?q=cats&page=2'L'utiliser dans les modèles
Les modèles appellent également url_for, afin que vos liens HTML ne deviennent jamais obsolètes. C'est la manière standard d'écrire les attributs href dans les pages Jinja2.
<a href="{{ url_for('home') }}">Home</a>Remanier sans crainte
Comme les liens sont dérivés des noms de points d'accès, vous pouvez renommer librement un chemin URL. Chaque appel à url_for continuera de fonctionner : vos remaniements restent donc sûrs.
Il s'associe bien aux redirections
Combinez url_for avec redirect pour envoyer les utilisateurs vers une vue nommée. Vous obtenez une redirection propre, résistante aux remaniements, sans écrire le chemin à la main.
from flask import redirect
redirect(url_for('home'))Des URL absolues quand nécessaire
Transmettez _external=True pour obtenir un lien complet http://host/path. C'est pratique pour les e-mails ou partout où un chemin relatif ne convient pas.
url_for('home', _external=True)Il connaît le dossier static
url_for construit également des liens vers les ressources via le point d'accès static. Cela garantit que les chemins CSS et d'images restent corrects, même si votre application est montée ailleurs.
url_for('static', filename='app.css')Une habitude qui en vaut la peine
Faites de url_for votre choix par défaut pour chaque lien interne. Les chaînes écrites en dur se multiplient et se dégradent ; les URL générées restent correctes à mesure que votre application évolue.
Vérification rapide
Vous appelez url_for('profile', name='alice', page=2). Où page=2 se retrouve-t-il ?
Récapitulatif : vous avez construit des URL intelligemment
url_for transforme les noms de points d'accès en chemins, remplit les variables de route et ajoute les éléments supplémentaires à la chaîne de requête. Ensuite : les barres obliques finales. 🧩
Apprends Python avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 30
- Leçons
- 120
Questions Fréquemment Posées
La leçon « Construire des URL avec url_for » est-elle gratuite ?
Oui — le texte complet de « Construire des URL avec url_for » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Flask Academy, passe à CoddyKit PRO. Le cours Flask Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Construire des URL avec url_for » ?
Générez des liens à partir des noms de points d’entrée, plutôt que de chemins codés en dur. Tu pratiques Flask Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Flask Academy ?
Aucune expérience préalable n'est requise. Flask Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Construire des URL avec url_for » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Flask Academy ?
Oui. Chaque leçon Flask Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Capturer des variables dans le chemin
- Convertisseurs de types : int, float, string, path
- Construire des URL avec url_for
- Barres obliques finales et comportement des redirections