2014-04-17 7 views
10

Quindi diciamo che ho un modello con un paio di link, i collegamenti saranno come questo:reindirizzando con url_for ad un percorso con parametri di query nel pallone

<a class='btn btn-primary' href='/?chart=new_chart&chart=other_chart'>View Summary</a> 

Tuttavia, la maggior parte delle volte in cui ho risorse fatte collegamenti né comprese, ho usato la seguente sintassi:

<script src="{{ url_for('static', filename='some_silly_js') }}"></script> 

è possibile fare un url_for con parametri di query? Qualcosa di simile:

<a href="{{ url_for('stats', query_params={chart: [new_chart, other_chart]}) }}>View More</a> 

risposta

16

Qualsiasi parametri parole chiave in più passati a url_for() che non sono supportati dal percorso vengono automaticamente aggiunti come parametri di query.

Per i valori ripetuti, passare in un elenco:

<a href="{{ url_for('stats', chart=[new_chart, other_chart]) }}>View More</a> 

Flask sarà quindi:

  1. trovare il punto finale stats
  2. colmare eventuali parametri di percorso necessarie
  3. trasformare una qualsiasi parola chiave rimanenti parametri per una stringa di query

Demo, con 'stats' è il nome dell'endpoint per /:

>>> url_for('stats', chart=['foo', 'bar']) 
'/?chart=foo&chart=bar' 
+0

risposta più eccellente, grazie buon signore – corvid

Problemi correlati