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 |
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 11Inserisci 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.100000Le 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