如何在jinja2模板中访问由flask生成的动态路由值?
例如,我有这样的路线:
@bp.route('/<username>')
def index(username):
user = User.query.filter_by(username=username).first()
return render_template('index.html', user=user)
Jinja2模板:
<a href="{{ url_for('index', username=HERE_GOES_DYNAMIC_VALUE) }}">Show user</a>
是否可以从username
对象访问request
值?
答案 0 :(得分:0)
render_template('index.html', user=user)
使user
变量可用于Jinja2模板引擎,默认情况下包含在Flask中。
如果要使用用户的用户名创建链接,则可以这样做:
<a href="{{ url_for('index', username=user.username) }}">Show user</a>
烧瓶示例:
@app.route('/users')
def users():
users = User.query.all()
return render_template('users.html', users=users)
Jinja2循环示例(users.html):
{% for user in users %}
<a href="{{ url_for('index', username=user.username) }}">Show user {{ user.username }}</a>
{% endfor %}
以下是有关Jinja2变量的更多信息:http://jinja.pocoo.org/docs/2.10/templates/#variables