如何在Jinja模板的elif语句中嵌入动态变量实现路径匹配?
解决方案
- 首先纠正Jinja模板的语法错误:在{% %}控制块里不能嵌套{{ }}变量语法,直接在控制块内使用变量名即可。
- 修改你的elif条件语句,有两种常用写法:
- 字符串拼接:
{% elif request.path == "/order/" + city %} - 字符串格式化:
{% elif request.path == "/order/{0}".format(city) %}
- 字符串拼接:
- 更可靠的做法是用
url_for生成对应路由的路径再对比,避免手动拼接路径的潜在错误(比如路由规则有变化时不用手动改模板):{% elif request.path == url_for('你的订单视图函数名', city=city) %} - 最后确认后端已经将从数据库获取到的
city变量正确传入模板上下文(你提到之前动态功能正常,这一步应该没问题,但可以快速检查一下视图函数里的render_template是否带了city参数)。
内容的提问来源于stack exchange,提问作者Top Tier
相关产品推荐
相关产品推荐

