English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La funzione url_for() è molto utile per costruire dinamicamente l'URL di una funzione specifica. Questa funzione accetta il nome della funzione come primo parametro e accetta uno o più parametri chiave, ciascuno dei quali corrisponde alla parte variabile dell'URL.
Il seguente script dimostra come utilizzare la funzione url_for().
# Nome del file: example.py # Copyright: 2020 da w3codebox # Autore da: it.oldtoolbag.com # Data: 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)
Il script sopra ha una funzione utente(nome), che accetta il valore del parametro proveniente dall'URL.
La funzione User() verifica se i parametri ricevuti corrispondono a 'admin'. Se corrispondono, utilizza url_for() per reindirizzare l'applicazione alla funzione hello_admin(), altrimenti passa i parametri ricevuti come parametro guest alla funzione hello_guest().
Salva il codice sopra in un file: hello.pye esegui da shell Python.
Apri il browser e inserisci l'URL - http://localhost:5000/user/admin
Il risultato dell'applicazione nel browser è -
# Nome del file: example.py # Copyright: 2020 da w3codebox # Autore da: it.oldtoolbag.com # Data: 2020-08-08 Ciao Admin
Inserisci l'URL seguente nel browser - http://localhost:5000/user/mvl
Il risultato della risposta dell'applicazione ora diventa -
# Nome del file: example.py # Copyright: 2020 da w3codebox # Autore da: it.oldtoolbag.com # Data: 2020-08-08 Ciao mvl come ospite