Половина моих маршрутов Flask требует переменной скажем /<variable>/add
или /<variable>/remove
. Как мне создать ссылки на эти места?
url_for()
принимает один аргумент для функции для маршрутизации, но я не могу добавить аргументы?
Он принимает ключевые аргументы для переменных:
url_for('add', variable=foo)
def add(variable)
?url_for
будут переданы в качестве параметров функции для маршрутов переменных правил во Flask@app.route("/<a>/<b>")
иdef function(a,b): ...
как его функция, то вам следует использоватьurl_for
и указать аргументы его ключевого слова, например:url_for('function', a='somevalue', b='anothervalue')
url_for
в Flask используется для создания URL-адреса, чтобы избежать дополнительных затрат на изменение URL-адресов во всем приложении (в том числе в шаблонах). Без этогоurl_for
, если в корневом URL-адресе вашего приложения произошли изменения, вам придется изменять его на каждой странице, где есть ссылка.Синтаксис:
url_for('name of the function of the route','parameters (if required)')
Может использоваться как:
Теперь, если у вас есть ссылка на страницу индекса: вы можете использовать это:
С ним можно многое сделать, например:
Для вышесказанного мы можем использовать:
Таким образом, вы можете просто передать параметры!
источник
{{ url_for('find_question' ,question_id=question.id) }}
а не{{ url_for('find_question' ,question_id={{question.id}}) }}
Обратитесь к документу Flask API для
flask.url_for()
Другие примеры использования ссылок для js или css на ваш шаблон приведены ниже.
источник
Шаблоны:
Передать имя функции и аргумент.
Вид, функция
источник