Flask-获取点击的链接信息并将其传递回python文件



我在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 %}

最新更新