我想用两个参数使用Jinja2 url_for函数并遇到一些问题

时间:2015-10-13 14:02:10

标签: python flask jinja2

这是我的代码:

@app.route('/user_article/<username>/<title>')
    def user_article(username,title):
        db = get_db()
        cu = db.cursor()
        cu.execute("select *from article where username='%s',title='%s'" %(username,title))
        data = cu.fetchone()
        article = data[2]
        return render_template('user_article.html',article=article)

和我的HTML代码:

{% for data in user_article %}
<p>
    <a href='{{ url_for("user_article",username={{data[0]}},title={{data[1]}}) }}'>{{data[1]}}</a>
</p>
{% endfor %}

当我运行代码时出现错误: jinja2.exceptions.TemplateSyntaxError:期望令牌':',得到'}'

我该怎么做才能获得参数?谢谢

1 个答案:

答案 0 :(得分:1)

这一行应该没有双括号

url_for("user_article",username=data[0],title=data[1])

html代码

{% for data in user_article %}
<p>
    <a href='{{ url_for("user_article",username=data[0],title=data[1]) }}'>{{data[1]}}</a>
</p>
{% endfor %}