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分页()进行所有分页