【问题标题】:Django template tag exceptionDjango 模板标签异常
【发布时间】:2010-03-26 16:00:38
【问题描述】:

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

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

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

【问题讨论】:

    标签: django templates tags django-context


    【解决方案1】:

    如果您阅读该模板标签的描述,就会发现它是使用内置的generic views 进行分页的:

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

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

    更新

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

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

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

    【讨论】:

    • 感谢您的回复,我尝试浏览文档,但需要一段时间才能理解!你能指出代码中我可能做错了什么吗?
    • 抱歉,我走神了
    猜你喜欢
    • 1970-01-01
    • 2021-02-18
    • 1970-01-01
    • 2011-02-09
    • 2012-10-31
    • 2014-03-20
    • 2020-03-27
    • 1970-01-01
    • 2014-07-01
    相关资源
    最近更新 更多