Reputation: 53850
I have this class
class Category(models.Model):
title = models.CharField(max_length=60)
created = models.DateTimeField()
def __unicode__(self):
return self.title
class Meta:
verbose_name_plural = "Categories"
I can access its items using Category.objects.all() from my views.py. I want to access these items inside my template, but obviously this doesn't work:
{% for category in Category.objects.all() %}
{{ category }}
{% endfor %}
How can I solve the issue with getting the items in a template?
Upvotes: 2
Views: 749
Reputation: 74705
I strongly suggest explicitly passing in Category.objects.all()
from the view. This will let you reuse the template irrespective of how you filter your categories.
def my_view(request, *args, **kwargs):
all_categories = Category.objects.all()
...
{% for category in all_categories %}
If you are reluctant to do this then pass Category
as a template variable and then lose the ()
at the end of all
:
def my_view(request, *args, **kwargs):
model_variable = Category
...
{% for category in model_variable.objects.all %}
Upvotes: 2