Metade das minhas rotas do Flask requer uma variável digamos, /<variable>/add
ou /<variable>/remove
. Como crio links para esses locais?
url_for()
leva um argumento para a função rotear, mas não consigo adicionar argumentos?
Leva argumentos de palavras-chave para as variáveis:
url_for('add', variable=foo)
def add(variable)
?url_for
se passar como parâmetros de função para rotas de regras variáveis em Flask@app.route("/<a>/<b>")
edef function(a,b): ...
como função, deverá usarurl_for
e especificar os argumentos das palavras-chave como este:url_for('function', a='somevalue', b='anothervalue')
url_for
no Flask é usado para criar uma URL para evitar que as despesas gerais alterem as URLs em um aplicativo (inclusive nos modelos). Sem issourl_for
, se houver uma alteração no URL raiz do seu aplicativo, você deverá alterá-lo em todas as páginas em que o link estiver presente.Sintaxe:
url_for('name of the function of the route','parameters (if required)')
Pode ser usado como:
Agora, se você tiver um link, a página de índice: você pode usar isto:
Você pode fazer muitas coisas com ele, por exemplo:
Para o acima exposto, podemos usar:
Assim você pode simplesmente passar os parâmetros!
fonte
{{ url_for('find_question' ,question_id=question.id) }}
e não{{ url_for('find_question' ,question_id={{question.id}}) }}
Consulte o documento da API da Flask para obter
flask.url_for()
Outros exemplos de trechos de uso para vincular js ou css ao seu modelo estão abaixo.
fonte
Modelos:
Passe o nome e o argumento da função.
Ver, função
fonte