0

看起来这个模板标签对大多数人来说就像一个魅力:

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

有人请帮忙,或者向我解释一下应该怎么做。

4

1 回答 1

3

如果您阅读该模板标签的描述,它会说它是使用内置的通用视图进行分页的:

与 PaginatorTag 一样,此标记是一个非常基本的包含标记,它建立在使用通用 object_list 视图分页时已在上下文中设置的变量之上。还创建了一些额外的上下文变量...

is_paginated变量由通用视图设置(查看前面链接的 django 文档的 template_context 部分)。

更新

要使用该分页器,您需要修改视图以使用 Django 中的通用视图功能。由于您没有为您的视图或网址提供代码,因此我无法就如何更改代码向您提供任何具体建议。

如果您按照Django 教程,在第 4 部分(最后一节)中,他们将指导您修改您在前面部分中构建的简单应用程序以使用通用视图。使用通用视图的优势在于它会自动处理大部分脑残 index() 和 detail() 视图代码:

这些视图代表了基本 Web 开发的一个常见案例:根据 URL 中传递的参数从数据库中获取数据,加载模板并返回呈现的模板。因为这很常见,所以 Django 提供了一个快捷方式,称为“通用视图”系统。

于 2010-03-26T16:06:11.670 回答