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

Django视图中Jinja2递归循环渲染嵌套字典的HTML输出问题

给定Jinja2代码的渲染输出

最终生成的HTML代码

<li>a Recursive a, {'b': {'c': {}}}<ul><li>b Recursive b, {'c': {}}<ul><li>c</li></ul></li></ul></li>

渲染逻辑说明

  • 模板通过在for循环后添加recursive标记实现嵌套字典的递归遍历,同时使用{%- ... -%}空白符控制语法剔除多余的换行、空格,输出的HTML没有冗余空白字符。
  • 分支判断规则:当键对应的value为真值(非空容器、非空值等)时,会输出Recursive [当前键名], [当前值]文本,同时嵌套<ul>标签,调用loop(value.items())递归遍历当前值下的所有子项;当value为假值(比如c对应的空字典{},布尔判断结果为假)时,仅输出当前键名,不会触发递归分支的文本和嵌套列表输出。
  • 上述HTML渲染到网页后,呈现的文本内容和预期完全匹配:

a Recursive a, {'b': {'c': {}}}
b Recursive b, {'c': {}}
c

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 01:57:26