我在Stack Overflow上发现了这个问题,它有我正在寻找的解决方案的变体。然而,我正试图在这样的for循环中运行这个:
{% for x in listOfCategories %}
<h2><li><a href="{{url_for('links', type='{{x}}')}}">{{x}}</a></li>
{% endfor %}
然后在应用程序中:
@app.route('/links', methods=['GET', 'POST'])
def links():
category = request.args.get('type')
问题是type='{{x}}'
在引号内,因此它从字面上呈现为{{x}}
,而不是实际的变量内容。有没有一种方法可以转义引号,以便将类型分配给x
变量内部的内容?
您想要使用{{url_for('links', type=x)}}"
,因为双大括号之间的所有内容都被解释为可执行代码——将其封装在另一个字符串中将得到您所看到的内容。
因此,模板应该是
{% for x in listOfCategories %}
<h2><li><a href="{{ url_for('links', type=x) }}">{{x}}</a></li>
{% endfor %}