["python","django","django-templates"]
How can I access a dictionary element in a Django template?

I would like to print out the number of votes that each choice got. I have this code in a template: {% for choice in choices %} {{choice.choice}} - {{votes[choice.id]}} <br /> {% endfor %} votes is just a dictionary while choices is a model object. It raises an exception with this message: "Could not parse the remainder"
To echo / extend upon Jeff's comment, I think you should simply aim for a property in your Choice class that calculates the number of votes associated with that object: class Choice(models.Model): text = models.CharField(max_length=200) def calculateVotes(self): return Vote.objects.filter(choice=self).count() votes = property(calculateVotes) And then in your template, you can do: {% for choice in choices %} {{choice.choice}} - {{choice.votes}} <br /> {% endfor %} The template tag, is, in my humble opinion, a bit overkill for this solution, but it's not a terrible solution either. The goal of templates in Django is to insulate you from code in your templates and vice versa. I'd try the above method and see what SQL the ORM generates as I'm not sure off the top of my head if it will precache the properties and just create a subselect for the property or if it will iteratively / on-demand run the query to calculate vote count. But if it generates atrocious queries, you could always populate the property in your view with data you've collected yourself.