Jinjaexpression式中的引用模板variables

我有一个这样定义的路由:

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

现在在模板中,我想使用url_for()来调用这个路由,如下所示:

 <h1>you uploaded {{ name }}<h1> <a href="{{ url_for('/magic/<filename>') }}">Click to see magic happen</a> 

我努力了:

 <a href="{{ url_for('/magic', filename={{ name }}) }}">Click to see magic happen</a> 

抛出一个jinja2.TemplateSyntaxError: expected token ':' got }

任何人都可以build议如何获得出现在模板中的{{ name }}url_for()以便当我点击我调用正确的app.route

{{ ... }}都是类似Python的expression式。 你不需要在里面使用另一个{{ ... }}来引用variables。

放下额外的支架:

 <h1>you uploaded {{ name }}<h1> <a href="{{ url_for('/magic', filename=name) }}">Click to see magic happen</a>