Plantilla de referencia variable dentro de la expresión Jinja

Tengo una ruta definida así:

@app.route('/magic/') def moremagic(filename): pass 

Y ahora, en una plantilla, quiero llamar a esa ruta usando url_for() así:

 

you uploaded {{ name }}

<a href="https://stackoverflow.com/questions/32024551/reference-template-variable-within-jinja-expression/{{ url_for('/magic/') }}">Click to see magic happen

Yo he tratado:

 Click to see magic happen 

Eso lanza un jinja2.TemplateSyntaxError: expected token ':' got }

¿Alguien puede sugerir cómo obtener el {{ name }} que aparece en la plantilla en el url_for() para que cuando haga clic en llame a la app.route correcta?

Todo dentro de {{ ... }} es una expresión de tipo Python. No necesita usar otro {{ ... }} dentro de eso para hacer referencia a las variables.

Suelte los soportes adicionales:

 

you uploaded {{ name }}

Click to see magic happen

(Tenga en cuenta que la función url_for() toma el nombre del punto final, no una ruta de la URL; el nombre predeterminado es el nombre de la función, moremagic en su ejemplo).