我在设置djangPagination时遇到问题

2024-10-01 15:42:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为Django网站制作一个模板(它是报价数据库)。我想要像Digg一样分页。Altough,应用程序的作者已经做了自己的分页,不幸的是没有页面编号(只有“previous”和“next”链接)。所以我已经安装了django pagination,但是我不能在网站上使用它。我对Django完全陌生,甚至编程-我只是一个简单的网页设计师。。。好吧,我们开始吧。在

有原始脚本:https://bitbucket.org/fleg/fqdb/

首先是模板上下文处理器的问题。我的设置.py没有这个部分,所以我添加了它,就像在django分页文档中一样。当我运行这个站点时,我得到一个错误:“Put”django.contrib.auth公司.上下文_处理器.auth'在您的模板中,为了使用管理应用程序,设置上下文中的处理器。那我怎么点菜呢?在

第二个问题是模板。我使用它就像在the screencast上一样:

{% extends "fqdb/base.html" %}
{% load pagination_tags %}

{% block title %}{{ title }}{% endblock %}

{% block content %}
            <h1>{{ title }}</h1>

            {% if quotes %}
            {% autopaginate quotes %}
            {% for quote in quotes %}
                {% include 'fqdb/quote_body.html' %}
            {% endfor %}
            {% paginate %}
            {% else %}
                <p>Brak cytatów.</p>
            {% endif %}
{% endblock %}

但是我得到了“模板错误:在呈现时捕获了KeyError:request”。但是。。。说真的,我不知道这个代码有什么问题!在

有一个分页的视图-引用列表。它不需要分页,所以我不认为这是个问题,但是也许。在

^{pr2}$

我将它修改为不分页,因为这是django分页任务。你可以在Bitbucket上找到原始视图。在

也许你知道一些更好的分页解决方案吗?在


Tags: djangoauth模板title网站html错误pagination
3条回答

如果对象是从templatetag传递的

def comment_app(context):
    objects = Comments.objects.get_tree_for_object(context['content_object'])
    return {
        'comments_tree': objects,
        'request': context['request']
}
register.inclusion_tag('comments/comment_app.html', takes_context=True)(comment_app)

注意:“请求”:上下文[“请求”]

{% autopaginate quotes N%}

N-每页需要多少项

看起来您需要将^{}^{}上下文处理器添加到TEMPLATE_CONTEXT_PROCESSORS设置中。在

{django>之前定义的django。似乎有些代码需要auth处理器,因此出现了第一条错误消息。在

在我看来,KeyError似乎需要request处理器。在

在设置文件中尝试以下操作:

TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.auth.context_processors.auth",
    #"django.core.context_processors.debug",
    "django.core.context_processors.i18n",
    "django.core.context_processors.media",
    #"django.core.context_processors.static",
    #"django.contrib.messages.context_processors.messages")
    "django.core.context_processors.request"
    )

我使用了django1.3request context docs中给出的默认列表,添加了请求处理器,并注释掉了您似乎不需要的那些。在

模板上下文处理器的顺序通常并不重要,只要它们不定义重叠的变量名。在

相关问题 更多 >

    热门问题