访问jinja2中的动态路由值

2024-04-19 03:45:47 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在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>

是否可以从request对象访问username值?你知道吗


Tags: 模板jinja2flask路由indexdefusername动态
1条回答
网友
1楼 · 发布于 2024-04-19 03:45:47

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循环示例(用户.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

相关问题 更多 >