Невозможно получить доступ к значениям словаря в шаблоне (объект pk является ключом dict) - PullRequest
0 голосов
/ 04 мая 2011

У меня есть Django View, который создает словарь для шаблона.Я видел подобные вопросы, но никто не показывает, как получить доступ к значению словаря в шаблоне, используя объект pk в качестве ключа (в моем случае key s pk s объекта).

Просмотр кода, который создает dict:

comment_uservote = {}
  if not current_logged_user.is_anonymous():
    for comment in comments_all:
        try:
            co_vote = Vote.objects.get(user=current_logged_user, comment=comment)
            comment_uservote[comment.id] = co_vote.vote
        except Vote.DoesNotExist:
            co_vote = ''
            comment_uservote[comment.id] = co_vote

Я также пытался с comment_uservote[str(comment.id)], но это тоже не помогает.

Шаблон (который не работает):

{% for comment in comments %}
  {{comment_uservote.comment.pk}} <!--this does not work-->
{% enfor %}

Однако, если добавить какой-либо комментарий pk к шаблону comment_uservote.

(который работает, но при прямой замене), сработает следующее:

{% for comment in comments %}
  {{comment_uservote.16}} <!--this works-->
{% enfor %}

Ценю твою помощь.Пожалуйста, дайте мне знать, если вам нужно что-то еще от меня.

1 Ответ

2 голосов
/ 04 мая 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...