La mitad de mis rutas Flask requiere una variable decir, /<variable>/add
o /<variable>/remove
. ¿Cómo creo enlaces a esas ubicaciones?
url_for()
toma un argumento para que la función se enrute pero no puedo agregar argumentos.
Toma argumentos de palabras clave para las variables:
url_for('add', variable=foo)
def add(variable)
?url_for
pasarán como parámetros de función para rutas de reglas variables en Flask@app.route("/<a>/<b>")
ydef function(a,b): ...
como su función, entonces debe usarurl_for
y especificar sus argumentos de palabras clave de esta manera:url_for('function', a='somevalue', b='anothervalue')
url_for
in Flask se usa para crear una URL para evitar la sobrecarga de tener que cambiar las URL en una aplicación (incluidas las plantillas). Sinurl_for
, si hay un cambio en la URL raíz de su aplicación, entonces debe cambiarlo en cada página donde está presente el enlace.Sintaxis:
url_for('name of the function of the route','parameters (if required)')
Se puede usar como:
Ahora, si tiene un enlace a la página de índice: puede usar esto:
Puedes hacer muchas cosas con él, por ejemplo:
Para lo anterior podemos usar:
¡Así puedes pasar los parámetros!
fuente
{{ url_for('find_question' ,question_id=question.id) }}
y no{{ url_for('find_question' ,question_id={{question.id}}) }}
Consulte el documento API de Flask para
flask.url_for()
A continuación se muestran otros fragmentos de muestra de uso para vincular js o css a su plantilla.
fuente
Plantillas:
Pase el nombre de la función y el argumento.
Ver, función
fuente