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

如何在Django模板中循环遍历context值渲染键值对列表

Django模板遍历渲染上下文键值对列表方法

你当前的视图代码直接将my_context字典作为上下文参数传入render,Django会把字典内的每个键拆分为独立模板变量(name/fly/run均为单独变量),这种模式下无法动态遍历所有自定义键值对,按以下步骤实现需求即可:

1. 调整视图传参

不要直接解包传入自定义字典,将整个字典作为上下文的一个字段传入,修改后视图代码:

def random_view(request):
   my_context = {
       "name": "turkey",
       "fly": "no",
       "run": 20
   }
   # 将自定义字典作为整体传入上下文
   return render(request, 'test/test.html', {"animal_info": my_context})

2. 模板循环渲染

在test.html中使用Django模板的for标签,调用字典的.items方法遍历键值对即可。注意Django模板中调用字典内置方法不需要加括号:

<ul>
  {% for key, value in animal_info.items %}
  <li>
    <strong>{{ key }}:</strong> {{ value }}
  </li>
  {% endfor %}
</ul>

最终渲染出的列表效果:

  • name: turkey
  • fly: no
  • run: 20

注意:不推荐不修改视图直接遍历全量上下文的写法。Django默认会向模板注入request、user、csrf_token等内置变量,直接遍历全量上下文会把这些无关变量一并渲染,无法精准匹配你传入的三个自定义字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 07:01:09