Перенаправление с url_for в путь с параметрами запроса в колбе

Итак, скажем, у меня есть шаблон с несколькими ссылками, ссылки будут такими:

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

Однако в большинстве случаев, когда я делал ссылки или включал ресурсы, я использовал следующий синтаксис:

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

Можно ли выполнить url_for с параметрами запроса? Что-то вроде:

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

Ответ 1

Любые дополнительные параметры ключевого слова, переданные в url_for(), которые не поддерживаются маршрутом, автоматически добавляются в качестве параметров запроса.

Для повторных значений перейдите в список:

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

Затем колба:

  • найдите конечную точку stats
  • введите необходимые параметры маршрута
  • преобразовать любые оставшиеся параметры ключевых слов в строку запроса

Демо, 'stats' - это имя конечной точки для /:

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