看起来这个模板标签就像大多数人的魅力一样:
http://blog.localkinegrinds.com/2007/09/06/digg-style-pagination-in-django/
出于某种原因,我收到此错误:渲染时遇到异常:'is_paginated'
我在模板中使用此模板标签,如下所示:
{% load digg_paginator %}
{% digg_paginator %}
digg_paginator.py位于我的app / templatetags文件夹中,包含的模板上下文digg_paginator.html位于我的app / templates文件夹中。需要分页的查询集称为“目标”。如果我只指定{% digg_paginator %}
,它如何知道要分页的变量?我觉得我错过了一些重要的东西,或者只是简单的愚蠢:P
有人请帮忙,或向我解释如何做到这一点。
答案 0 :(得分:3)
如果您阅读了该模板标记的说明,则表示它是使用内置的generic views进行分页而构建的:
与PaginatorTag一样,此标记是一个非常基本的包含标记,它基于在使用通用object_list视图进行分页时已在上下文中设置的变量构建。还创建了一些额外的上下文变量......
is_paginated
变量由通用视图设置(查看之前链接的django文档的template_context部分)。
<强>更新强>
要使用该分页器,您需要修改视图以使用Django中的通用视图功能。由于您没有为您的观点或网址提供代码,因此我无法就如何更改代码提供任何具体建议。
如果您在Django Tutorial(最后一部分)中按照part 4进行操作,他们会引导您修改您在前几节中构建的简单应用程序,以使用通用视图。使用通用视图的优势在于它可以自动处理大部分脑死亡索引()和detail()视图代码:
这些视图代表了基本Web开发的常见情况:根据URL中传递的参数从数据库获取数据,加载模板并返回呈现的模板。因为这很常见,Django提供了一种称为“通用视图”系统的快捷方式。