2014-04-17 13 views
10

Więc powiedzmy mam szablon z kilku łącza, będzie tak:przekierowanie z url_for do ścieżki z params zapytanie w kolbie

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

Jednak większość czasu kiedy mam wykonane łącza lub zawarte zasoby, użyłem następującej składni:

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

czy można zrobić adres url za pomocą parametrów zapytania? Coś jak:

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

Odpowiedz

16

Wszelkie dodatkowych parametrów kluczowych przekazywanych url_for(), które nie są obsługiwane przez trasy są automatycznie dodawane jako parametry zapytań.

Dla powtarzających się wartości, przekazać w formie listy:

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

Kolba będzie wtedy:

  1. znaleźć punkt końcowy stats
  2. wypełniać żadnych wymaganych parametrów trasy
  3. przekształcić wszystkie pozostałe słowa kluczowego parametry do ciągu zapytania

Demo, z 'stats' jest nazwa punktu końcowego dla /:

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

najbardziej doskonała odpowiedź, dziękuję dobry panie – corvid

Powiązane problemy