在 HTML 内的 url_for 上发送 GET 参数

Send GET parameter on url_for inside HTML

我有以下代码:

<ul>
    {% for name in items %}
        <li style="list-style-type: none;">
            <a href="{{ url_for('content', values='{{name}}') }}">{{ items[name].title }}</a>
        </li>
    {% endfor %}
</ul>

我想在 url_for 中插入一个作为项目名称的 GET 参数。当我得到发送到我的 views.py 的值时,我得到了整个字符串 '{{name}}'.

@app.route('/content', methods=['GET', 'POST'])
def content():
    name = request.args.get('values')
    print name

>> {{name}}

我试过像 {{ url_for('content', values='"+{{name}}+"') }}">{{ items[name].title }} 那样与 + 连接,但它也没有用。

关于如何做到这一点的任何线索?是否可以通过这种方式发送 POST 参数?

直接在表达式中使用变量name即可:

{{ url_for('content', values=name) }}

'{{name}}' 是包含字符 {{n 等的文字字符串,而不是变量的插值。

注意这是不是一个POST参数;它是一个 URL 查询参数(? 之后的 URL 的一部分)。