【发布时间】:2019-02-15 23:11:08
【问题描述】:
我正在尝试修复 Django 应用程序中的一些分页问题。使用上一个和下一个按钮可以正常工作,因为我正在使用诸如 previous_page_number 之类的现有变量,但我不确定如何让第 1 页、第 2 页、第 N 页按钮工作。这是上一页的代码,可以正常工作:
{% if table.page and table.paginator.num_pages > 1 %}
{% block pagination %}
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
{% block pagination.previous %}
{% if table.page.has_previous %}
<a href="{% querystring table.prefixed_page_field=table.page.previous_page_number %}" class="pagination-previous">Previous</a>
{% else %}
<a href="#" class="pagination-previous" disabled>Previous</a>
{% endif %}
{% endblock pagination.previous %}
这是我当前的分页范围代码,但没有。具体来说,其他部分是我无法工作的部分。
{% block pagination.range %}
{% if table.page.has_previous or table.page.has_next %}
<ul class="pagination-list">
{% for p in table.page|table_page_range:table.paginator %}
{% if table.page.number == p %}
<li>
<a class="pagination-link is-current is-dark" aria-label="Page {{ table.page.number }}" aria-current="page">{{ table.page.number }}</a>
</li>
{% else %}
<li>
<a href="{% querystring table.prefixed_page_field=table.page.p %}" class="pagination-link" aria-label="Page {{ p }}">{{ p }}</a>
</li>
{% endif %}
{% endfor %}
</ul>
{% endif %}
{% endblock pagination.range %}
目前,分页不起作用,并且传递的 URL 以 page= 而不是 page=p 结束,无论当时 p 是什么。我不确定如何将 p 作为可读变量传递,以使其出现在 URL 中。我尝试使用与不在查询字符串中的代码的其他部分相同的格式。
{% else %}
<li>
<a href="{% querystring table.prefixed_page_field=table.page.{{ p }} %} class="pagination-link" aria-label="Page {{ p }}">{{ p }}</a>
</li>
{% endif %}
这会导致根本阻止页面加载的错误,因为 Django 无法协调 {{ 部分。
【问题讨论】:
-
嗨 Jay,这可能与 stackoverflow.com/questions/13387885/… 重复
-
你是对的。我可以验证评论是否为最佳答案吗?如果可以,我应该怎么做?
-
我不认为这是可能的,您只需单击评论旁边的向上箭头即可将评论标记为有用。问候!
标签: html django pagination