You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jinja模板include语句with参数如何拼接固定字符串与变量

正确实现方案

方案1:提前声明拼接变量(最稳妥,可读性最高)

先通过set标签将拼接后的结果存为变量,再传递给include的参数:

{% set combined_type = "teacher" ~ teacher.id %}
{% include 'Discret/buttons/modal.html' with type=combined_type id=teacher.id %}

方案2:括号包裹拼接表达式(无需额外声明变量)

把整个字符串拼接逻辑用括号包裹为完整表达式,直接赋值给type参数即可:

{% include 'Discret/buttons/modal.html' with type=("teacher" ~ teacher.id) id=teacher.id %}

之前写法失效原因

  • Jinja 语法中仅支持用波浪号~做字符串拼接,加号+仅用于数值求和,哪怕搭配string过滤器也无法实现字符串拼接效果
  • 未加括号直接在参数位写type="teacher"~teacher.id不生效,是因为include ... with的参数解析优先级问题,无法识别未包裹的拼接逻辑,需要用括号把整个拼接部分标记为一个完整的赋值表达式

内容的提问来源于stack exchange,提问作者Dasha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 18:09:02