【发布时间】:2022-11-29 04:52:13
【问题描述】:
我有一个显示在 Django 站点上的项目任务列表。但是我如何在模板中强制它以这种方式拆分项目?
我想要做的是有章节标题:
**PROJECT 1**
Task 1
Task 2
Task 3
**PROJECT 2**
Task 1
Task 2
【问题讨论】:
-
分享您的模型。
标签: django
我有一个显示在 Django 站点上的项目任务列表。但是我如何在模板中强制它以这种方式拆分项目?
我想要做的是有章节标题:
**PROJECT 1**
Task 1
Task 2
Task 3
**PROJECT 2**
Task 1
Task 2
【问题讨论】:
标签: django
假设您有两个模型,一个类别和一个帖子(很像一个项目和一个任务):
class Category(models.Model):
name = ...
...
class Post(models.Model):
title = ...
category = models.ForeignKey(... related_name = "posts")
...
您可以像这样将类别传递给模板:
def view(request):
# get all categories
cats = Category.objects.all().prefetch_related("posts")
# using prefetch related to prevent lazy-loading of queries,
# this might give a tiny performance increase reducing amount
# of database queries
# render the template
render(...., {"category":cats})
在模板中,您可以执行以下操作:
{% for category in categories %}
{{category.name}}
{% for post in category.posts.all %}
{{post.title}}
{% endfor %}
{% endfor %}
【讨论】: