English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La fonction url_for() est très utile pour construire dynamiquement l'URL d'une fonction spécifique. Cette fonction accepte le nom de la fonction en tant que premier paramètre et accepte un ou plusieurs paramètres nommés, chacun correspondant à une partie variable de l'URL.
Le script suivant montre comment utiliser la fonction url_for().
# Fichier : example.py # Copyright : 2020 Par w3codebox # Auteur par : fr.oldtoolbag.com # Date : 2020-08-08 from flask import Flask, redirect, url_for app = Flask(__name__) @app.route('/admin' def hello_admin(): return 'Hello Admin' @app.route('/guest/<guest>' def hello_guest(guest): return 'Hello %s as Guest' % guest @app.route('/user/<name>' def user(name): if name == 'admin': return redirect(url_for('hello_admin')) else: return redirect(url_for('hello_guest', guest = name)) if __name__ == '__main__': app.run(debug = True)
Le script ci-dessus contient une fonction utilisateur(nom), qui accepte la valeur du paramètre provenant de l'URL.
La fonction User() vérifie si le paramètre reçu correspond à 'admin'. Si cela correspond, l'application est redirigée vers la fonction hello_admin() en utilisant url_for(), sinon le paramètre reçu est transmis à la fonction hello_guest() en tant que paramètre guest.
Enregistrez le code ci-dessus dans un fichier hello.pyet exécutez-le à partir de l'interpréteur Python shell.
Ouvrez le navigateur et entrez l'URL - http://localhost:5000/user/admin
Le résultat de la réponse de l'application dans le navigateur -
# Fichier : example.py # Copyright : 2020 Par w3codebox # Auteur par : fr.oldtoolbag.com # Date : 2020-08-08 Hello Admin
Entrez l'URL suivante dans le navigateur - http://localhost:5000/user/mvl
Le résultat de la réponse de l'application maintenant devient -
# Fichier : example.py # Copyright : 2020 Par w3codebox # Auteur par : fr.oldtoolbag.com # Date : 2020-08-08 Hello mvl en tant qu'Invité