Jak uzyskać dostęp do elementu słownika w szablonie Django?

Chciałabym otrzymać liczbę głosów uzyskanych przy każdym wyborze. Mam ten kod w szablonie:

{% for choice in choices %}
    {{choice.choice}} - {{votes[choice.id]}} <br />
{% endfor %}

votes to tylko słownik, a choices to obiekt modelowy.

Z tym komunikatem powstaje wyjątek:

"Could not parse the remainder"

1 odpowiedź

myślę, że powinieneś dążyć do po prostu własności w klasie choice, która oblicza liczbę głosów związanych z tym obiektem:

  class Choice(models.Model):
        text = models.CharField(max_length=200) 

        def calculateVotes(self):
            return Vote.objects.filter(choice = self).count()

        votes = property(calculateVotes)

Następnie w swoim szablonie możesz wykonać:

  {% for choice in choices %}
            {{choice.choice}} - {{choice.votes}} <br />
    {% endfor %}

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.