url_for
nel pallone viene utilizzato per la creazione di un URL per evitare il sovraccarico di dover cambiare gli URL in tutta l'applicazione (compreso nei modelli). Senza url_for
, se c'è una modifica nell'URL di root della tua app, devi cambiarla in ogni pagina in cui è presente il link.
Sintassi: url_for('name of the function of the route','parameters (if required)')
Può essere usato come:
@app.route('/index')
@app.route('/')
def index():
return 'you are in the index page'
Ora, se si dispone di un collegamento alla pagina di indice: è possibile utilizzare questo:
<a href={{ url_for('index') }}>Index</a>
si può fare un per esempio:
@app.route('/questions/<int:question_id>'): #int has been used as a filter that only integer will be passed in the url otherwise it will give a 404 error
def find_question(question_id):
return ('you asked for question{0}'.format(question_id))
Per quanto sopra si può usare:
<a href = {{ url_for(find_question,question_id=1) }}>Question 1</a>
come non si può semplicemente passare i parametri!
significa che la funzione è 'def add (variable)'? – endolith
@endolith, sì. ** kwargs passato a 'url_for' passerà come parametri di funzione per percorsi di regole variabili in Flask – highvolt