Django 从模型中获取项目列表

Django 从模型中获取项目列表,django,django-models,Django,Django Models,我有这门课 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" 我可以使用my views.py中的Category.objects

我有这门课

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"
我可以使用my views.py中的Category.objects.all()访问其项目。 我想在我的模板中访问这些项目,但显然这不起作用:

{% for category in Category.objects.all() %}
    {{ category }}
{% endfor %}

如何解决在模板中获取项目的问题?

我强烈建议从视图中显式传递
Category.objects.all()
。这将允许您重用模板,而不管您如何筛选类别

def my_view(request, *args, **kwargs):
    all_categories = Category.objects.all()
    ...

{% for category in all_categories %}
如果您不愿意这样做,则将
类别
作为模板变量传递,然后在
全部
末尾丢失
()

def my_view(request, *args, **kwargs):
    model_variable = Category
    ...

{% for category in model_variable.objects.all %}

从视图中调用
Category.objects.all()
更有意义,尤其是当您认为如果返回了许多对象,例如,您需要在视图中生成分页时!虽然我同意从视图中调用更有意义,但实际上我更喜欢在模板中使用django分页()进行所有分页