Thursday 24 January 2019

Gestione variabili in Flask

È possibile creare un URL in modo dinamico, aggiungendo parti variabili al parametro della regola. Questa parte variabile è contrassegnata come <nome-variabile> . Viene passato come argomento della parola chiave alla funzione a cui è associata la regola.
Nell'esempio seguente, il parametro rule del decoratore route () contiene la parte variabile <name> associata all'URL "/ hello" . Quindi, se http: // localhost: 5000 / hello / hithere è inserito come URL nel browser, "hithere" verrà fornito come funzione alla funzione hello () .
 
from flask import Flask
app = Flask(__name__)

@app.route('/hello/<name>')
def hello_name(name):
   return 'Hello %s!' % name

if __name__ == '__main__':
   app.run(debug = True)
 
Salva lo script precedente come hello.py ed eseguilo dalla shell Python. Quindi, aprire il browser e inserire l'URL http: // localhost: 5000 / hello / hithere 
Il seguente output verrà visualizzato nel browser.
Hello hithere!
Oltre alla parte variabile della stringa predefinita, le regole possono essere costruite usando i seguenti convertitori:
Sr.No. Convertitori e descrizione
1 int
accetta intero
2 galleggiante
Per il valore in virgola mobile
3 sentiero
accetta le barre usate come carattere separatore di directory
Nel seguente codice, vengono utilizzati tutti questi costruttori.
from flask import Flask
app = Flask(__name__)

@app.route('/blog/<int:postID>')
def show_blog(postID):
   return 'Blog Number %d' % postID

@app.route('/rev/<float:revNo>')
def revision(revNo):
   return 'Revision Number %f' % revNo

if __name__ == '__main__':
   app.run()
Esegui il codice sopra da Python Shell. Visita l'URL http: // localhost: 5000 / blog / 11 nel browser.
Il numero dato viene usato come argomento per la funzione show_blog () . Il browser mostra il seguente output:
Blog Number 11
Inserisci questo URL nel browser - http: // localhost: 5000 / rev / 1.1
La funzione revision () riprende il numero in virgola mobile come argomento. Il seguente risultato appare nella finestra del browser -
Revision Number 1.100000
Le regole URL di Flask sono basate sul modulo di routing di Werkzeug . Ciò garantisce che gli URL formati siano unici e basati su precedenti definiti da Apache.
Considera le regole definite nel seguente script:
from flask import Flask
app = Flask(__name__)

@app.route('/flask')
def hello_flask():
   return 'Hello Flask'

@app.route('/python/')
def hello_python():
   return 'Hello Python'

if __name__ == '__main__':
   app.run()
Entrambe le regole appaiono simili ma nella seconda regola viene utilizzata la barra finale (/) . Di conseguenza, diventa un URL canonico. Quindi, usando / python o / python / restituisce lo stesso output. Tuttavia, in caso di prima regola, / pallone / URL risulta nella pagina 404 non trovata .

No comments:

Post a Comment