Django模板中的字典查找

2024-10-03 00:21:21 发布

您现在位置:Python中文网/ 问答频道 /正文

{% for dispN0, tabledataset0 in tabulatedTable.items %}
    {% for dispN in orderChanels %}     
        {% for antenaName, antenaLevel in tableDataSet0.{{dispN}}.items %}  
             <td>{{antenaName}}</td>    
        {% endfor %}
    {% endfor %}
{% endfor %}

这里的{dispN}}是整数,比如36,42,等等。如果我给tableDataSet0.36.items就可以了。但我需要36位的倍数。在


Tags: inforitems整数td倍数endforantenaname
1条回答
网友
1楼 · 发布于 2024-10-03 00:21:21

您需要编写自己的template filter来查找字典或对象的值:

在应用程序中的templatetags文件夹中创建一个类似utils.py的文件,如下所示:

app_dir/
├── __init__.py
├── models.py
  ...
├── templatetags/
│   ├── __init__.py  # required for python 2.7
│   └── utils.py
  ...
└── views.py

并填写以下内容:

^{pr2}$

现在可以在模板中使用此筛选器,如下所示:

{% load utils %}

{% for dispN0, tableDataSet0 in tabulatedTable.items %}
    {% for dispN in orderChanels %}

        {% with tableData = tableDataSet0|lookup:dispN %}
            {% for antenaName, antenaLevel in tableData.items %}
                <td>{{antenaName}}</td> 
            {% endfor %}
        {% endwith %}

    {% endfor %}
{% endfor %}

了解更多

相关问题 更多 >