Django模板中通过循环键从字典列表获取指定值的方法
Django模板中遍历字典列表与指定键生成表格行
你需要的核心是在Django模板中实现嵌套循环,同时通过变量键获取字典对应值——但Django模板语法不支持dat[k]这种Python式的索引写法,得靠自定义模板过滤器解决:
步骤1:自定义模板过滤器
在你的Django应用下创建templatetags目录(如果没有的话),新建custom_filters.py文件,写入以下代码:
from django import template register = template.Library() @register.filter(name='get_item') def get_item(dictionary, key): return dictionary.get(key)
步骤2:在模板中使用
先加载自定义过滤器,再写嵌套循环:
{% load custom_filters %} <table> {% for dat in data %} <tr> {% for k in keys %} <th>{{ dat|get_item:k }}</th> {% endfor %} </tr> {% endfor %} </table>
最终输出
执行后会生成你想要的HTML结构:
<tr> <th>1</th> <th>2</th> </tr> <tr> <th>3</th> <th>4</th> </tr>
内容的提问来源于stack exchange,提问作者nepko
相关产品推荐
相关产品推荐

