Jinja 表达式中的引用模板变量
- 2024-12-03 08:44:00
- admin 原创
- 154
问题描述:
我有一条定义如下的路线:
@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 }
有人能建议如何将{{ name }}
模板中出现的放入其中,url_for()
以便当我单击时调用正确的吗app.route
?
解决方案 1:
里面的所有内容{{ ... }}
都是类似 Python 的表达式。您无需使用{{ ... }}
其中的另一个来引用变量。
删除多余的括号:
<h1>you uploaded {{ name }}<h1>
<a href="{{ url_for('moremagic', filename=name) }}">Click to see magic happen</a>
(请注意,该url_for()
函数采用端点名称moremagic
,而不是 URL 路径;在您的示例中,名称默认为函数的名称)。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
云禅道AD