关于python:Jinja表达式中的参考模板变量

Reference template variable within Jinja expression

我有一条这样定义的路线:

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

现在在一个模板中,我想使用url_for()这样调用该路由:

1
2
you uploaded {{ name }}
') }}">Click to see magic happen

我已经尝试过:

1
Click to see magic happen

扔了一个EDOCX1[1]

有人能建议如何将模板中显示的{{ name }}放入url_for()中,以便单击时调用正确的app.route


{{ ... }}中的所有内容都是类似于Python的表达式。您不需要在其中使用另一个{{ ... }}来引用变量。

去掉多余的括号:

1
2
you uploaded {{ name }}
Click to see magic happen

(注意,url_for()函数采用端点名称,而不是URL路径;名称默认为函数名,在您的示例中为moremagic)。