开发者

Get a list of items from a model

开发者 https://www.devze.com 2023-01-13 15:47 出处:网络
I have this class class Category(models.Model): title = models.CharField(max_length=60) created = models.DateTimeField()

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?


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 %}
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号