在HTML中的url_for上发送GET参数

Thi*_*lbo 2 python request jinja2 flask

我有以下代码:

<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>
Run Code Online (Sandbox Code Playgroud)

我想插入url_for一个GET参数,该参数将是项目的名称.当我得到发送给我的值时views.py,我得到整个字符串'{{name}}'.

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

>> {{name}}
Run Code Online (Sandbox Code Playgroud)

我试过和+喜欢联系{{ url_for('content', values='"+{{name}}+"') }}">{{ items[name].title }},但它也没有用.

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

Mar*_*ers 7

只需name在表达式中直接使用变量:

{{ url_for('content', values=name) }}
Run Code Online (Sandbox Code Playgroud)

'{{name}}'是字符串以字符{,{,n,等等,而不是可变的内插.

请注意,这不是 POST参数; 它是一个URL查询参数(后面的URL的一部分?).