gpt4 book ai didi

python - django 模板中的字典查找

转载 作者:行者123 更新时间:2023-12-04 20:31:47 26 4
gpt4 key购买 nike

{% 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 位的倍数。

最佳答案

你需要自己写一个template filter查找字典或对象的值:

创建一个文件,如 utils.pytemplatetags您的应用程序中的文件夹,如下所示:

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

并用以下内容填充它:
from django import template

register = template.Library()

@register.filter
def lookup(value, key):
return value.get(key, [])

现在您可以在模板中使用此过滤器,如下所示:
{% 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 %}

阅读更多关于
  • Custom template tags and filters
  • the {% with %} templatetag
  • 关于python - django 模板中的字典查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44391451/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com