Шаблоны Django обращаются к словарю из другого словарного ключа - PullRequest
0 голосов
/ 11 апреля 2019

Кажется тривиальным, но я перебираю словарь, получая доступ к другому словарю с помощью клавиши id этого слова. Пример:

{% for choice in choices %}
  {{ percentages[choice.id] }}
{% endfor %}

Как в:

for choice in choices:
  percentages[choice.id]

Хотя я получаю ошибку Django:

Не удалось разобрать остаток: '[choice.id]' из 'проценты [choice.id]'

Что, я думал, может сработать. Я попытался исследовать и изменить [choice.id] на |get:choice.id в качестве потенциального разрешения, но это также дало мне еще одну бесполезную ошибку.

1 Ответ

2 голосов
/ 11 апреля 2019

Вы не можете получить доступ к индексам словаря из шаблона django.Вы должны зарегистрировать пользовательский шаблон тега, как это.

@register.filter
def from_dict(d, k):
    return d[k]

И использовать его следующим образом.

{% for choice in choices %}
  {{ percentages|from_dict:choice.id }}
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...