python - 在 jinja2 中访问烧瓶动态路由值
问题描述
如何在 jinja2 模板中访问由烧瓶生成的动态路由值?
例如,我有这样的路线:
@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
解决方案
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
推荐阅读
- nlog - NLog 截断语法
- javascript - 如何检索 Firebase-Instance-ID-token?
- javascript - 单击添加类以使用 vanilla JavaScript 隐藏其他元素
- javascript - 未捕获的 ReferenceError:未定义 getVote?
- java - 使用预签名 URL 限制 S3 PUT 文件大小
- node.js - Angular 10 + NodeJS + Express - 无法加载图像但在本地工作
- swift - 如何在 Xcode 中查看到本地主机的 http 流量
- javascript - 当我尝试将 Maven 项目部署到 Artifactory 时遇到此错误
- laravel - Laravel HTTP 客户端不适用于空正文,但 Postman 有效
- c - Mac 中是否有等效的 getch() 函数?