У меня есть два 4-уровневых объекта, которые я передаю в шаблон django.Я в настоящее время для прохождения каждого уровня и снижения уровня, если он существует.В итоге у меня были ключи, key2 и key3, которые представляют текущее местоположение объекта во время цикла.Я хотел бы сослаться на другой объект, который имеет те же уровни, используя эти переменные, но у меня возникли некоторые проблемы.
Если бы я пытался сделать это в Python, это выглядело бы такmy_object[ key ][ key2 ][ key3 ]
Но в шаблонах django кажется, что я не могу использовать скобки, и если бы я использовал точки, он подумал, что ключ - это имя ключа, а не смотрел бы на него как на переменную.
Если вам нужно больше информации о моем коде, дайте мне знать.Спасибо!
Редактировать: Вот пример того, как выглядит мой объект, и код моего шаблона.
variable1 = {
"content": {
"pages": {
"view":True,
"add":True,
"edit":True,
"delete":True
},
"articles": {
"view":True,
"add":True,
"edit":True,
"delete":True
},
"slideshow": {
"view":True,
"edit":True
},
},
"people": {
"view":True,
"add":True,
"edit":True,
"delete":True,
"sort-staff":True,
"sort-riders":True
}
}
variable2 такая же, как переменная 1, с теми же ключами, но некоторыеключи отсутствуют.
Вот как выглядит мой шаблон для сортировки этого объекта.
{% for key, value in variable1.items %}
<strong>{{ key|title }}</strong>
{% for key2, value2 in value.items %}
{% if value2.items %}
<p class="indent">{{ key2|title }}
{% for key3, value3 in value2.items %}
<p class="indent"><input type="checkbox" name="form_permission_{{ key }}_{{ key2 }}_{{ key3 }}" {% if variable2[key][key2][key3] %}checked="checked"{% endif %}> {{ key3|title }}</p>
{% endfor %}
</p>
{% else %}
<p class="indent"><input type="checkbox" name="form_permission_{{ key }}_{{ key2 }}"> {{ key2|title }}</p>
{% endif %}
{% endfor %}
{% endfor %}
Если вы посмотрите на строку с самым отступом, вы увидите {% if variable2[key][key2][key3] %}checked="checked"{% endif %}
.Вы должны понимать, чего я пытаюсь достичь с помощью этого кода.