English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Costruzione di URL Flask

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