我正在尝试使用flask的url_for()通过传递用户名来导航到用户的页面。我把html文件作为
{% for user in users %}
<li><h2>{{ user.name }}</h2>{{ user.email|safe }}
<a href="{{ url_for('users_stats',username = {{ user.name }}) }}">stats</a> #This doesn't work
<a href="/users/{{ user.name }}"> stats </a> #This does work
在我的python文件中,我将函数设为
@app.route('/users/<username>')
def users_stats(username):
...
我在其中渲染另一个模板。为什么第一种方式不起作用?此外,由于第二种方式是通常的做法是做这样的网址或使用url_for()?
答案 0 :(得分:7)
而不是:
<a href="{{ url_for('users_stats',username = {{ user.name }}) }}">stats</a>
这样做:
<a href="{{ url_for('users_stats',username = user.name) }}">stats</a>
您已经在{{
和}}
区域内,因此您无需再添加其中的第二级。