get_elided_page_rangeについて

django Published at March 7, 2025, 2:29 a.m. by admin@senrigan.org

大量のデータに対してページングしたい時に使うget_elided_page_rangeについて

Paginator.page_rangeとほぼ同じだけど、データが多い時にellipsisをリストの両端に追加してくれる。

例えば郵便番号のデータは124000行くらいあるので、こっち使わないと大変なことになる。

使い方 (例):

{% for page_num in elided_page_range %}
  {% if page_num == '…' %}
    <li class="page-item disabled"><span class="page-link"></span></li>
  {% else %}
    <li class="page-item">
      <a href="?pref={{ selected_pref }}&city={{ selected_city }}&page={{ page_num }}" class="page-link">{{ page_num }}</a>
    </li>
  {% endif %}
{% endfor %}

参考:Paginator.get_elided_page_range