在Django中,有一个名为的通用视图YearArchiveView
,其属性名为make_object_list
。
有人可以向我解释为什么这个选择实际上存在吗?
如果我想要一个基于年份的查询集是不合逻辑的,那么即使我只有一个对象,我显然也需要一个对象列表。还是我误会了这里的东西。
TLDR;在下的视图上下文中返回给定YearArchiveView的所有对象。默认情况下为False,这将导致返回的上下文为空。 make_object_list
object_list
make_object_list
object_list
因此,django文档在这一部分要理解有些棘手。但是希望这会有所帮助(提示:查看源代码确实有帮助)。
YearArchiveView
默认情况下,will将在上下文中返回:
您会在此列表中注意到,返回的给定年份的查询集对象为空。
make_object_list因此,从上面我们知道,默认情况下,上下文将返回许多与对象日期有关的值,这些对象的日期为当前年,上一年和下一个,但数据库中没有实际的查询集对象。
make_object_list
在YearArchiveView中将其设置为true,将导致给定年份的所有queryset对象都通过上下文传回,以便可以在视图中使用它们。
在模板内,queryset对象将在上下文下可用object_list
。
在给定YearArchiveView的模板中时,您可以使用:
{% for item in object_list %}
<strong>item.title</strong> - {{ item.date }}
{% endfor %}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句