У меня есть два объекта с четырьмя уровнями, которые я передаю в шаблон django. В настоящее время я перехожу через каждый уровень и опускаюсь на уровень, если он существует. В итоге у меня появился ключ, key2 и key3, который представляет текущее местоположение объекта во время цикла. Я хотел бы ссылаться на другой объект, который имеет те же уровни, используя эти переменные, но у меня есть некоторые проблемы.Использование переменной в качестве ключевого объекта в шаблоне шаблона Django
Если бы я пытался сделать это в 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
}
}
переменная2 такая же, как и переменная, с теми же клавишами, но некоторые ключи отсутствуют.
вот что мой шаблон выглядит как для сортировки по этому объекту.
{% 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 %}
. Вы должны понимать, что я пытаюсь выполнить с этим кодом.
Можете ли вы опубликовать, как выглядит ваш объект, и код вашего шаблона? –
Добавлен код, спасибо! –