【问题标题】:Pagination Django 1.8.1分页 Django 1.8.1
【发布时间】:2015-05-23 02:47:27
【问题描述】:

我试图在 Django 中使用 Paginator 来获取格式化输出。 我的代码是:

def tasks(request):
    rfcs = HandledRFC.objects.all()
    paginator = Paginator(rfcs,2) #2 objects per page
    page = request.GET.get('page')
    try: 
        rfc_per_page = paginator.page(page)
    except PageNotAnInteger:
        rfc_per_page = paginator.page(1)
    except EmptyPage:
        rfc_per_page = paginator.page(paginator.num_pages)
    return render_to_response('tasks.html', { 'rfc_per_page' : rfc_per_page })

我在浏览器中得到 EmptyPage 异常。 异常值:“页码小于 1”

另外,在我的“坏”模板上追溯它(Django)链接,所以他标记了这个:

<a href="?page= {{rfc_per_page.previous_page_number }}">Previous</a>

python shell 中,我尝试模拟这个异常生成,当我输入:rfc_per_page = paginator.page(0)

我该如何解决这个问题?

感谢您的帮助!

【问题讨论】:

    标签: python django pagination paginator


    【解决方案1】:

    你应该删除'='和'{{'之间的href属性的空格:

    <a href="?page={{rfc_per_page.previous_page_number }}">Previous</a>
    

    否则,我认为它将被替换为 %20(URL 编码)。

    【讨论】:

      【解决方案2】:

      你必须设置if条件来检查上一个页码是否可用?

      {% if rfc_per_page.previous_page_number %}
          <a href="?page={{rfc_per_page.previous_page_number }}">Previous</a>
      {% endif %}
      

      让我知道它是否有效?

      【讨论】:

        猜你喜欢
        • 2014-06-30
        • 2015-07-23
        • 1970-01-01
        • 2021-05-23
        • 2012-08-29
        • 1970-01-01
        • 1970-01-01
        • 2014-04-07
        • 1970-01-01
        相关资源
        最近更新 更多