私はdjango_tables2を使用して私のdjangoアプリでデータテーブルを持っていて、this answerを使用して明らかな理由からbootstrap paginationを追加しました。私は私のtemplatesディレクトリにtables.html
ファイルをコピーし、次のように修正:Djangoページ区切り制限
{% if table.page %}
{% with table.page.paginator.count as total %}
{% with table.page.object_list|length as count %}
{% block pagination %}
<ul class="pagination">
{% block pagination.cardinality %}
<li class="cardinality">
{% if total != count %}{% blocktrans %}Showing {{ count }} of {{ total }}
{% endblocktrans %}{% else %}{{ total }}{% endif %}
{% if total == 1 %}{{ table.data.verbose_name }}{% else %}
{{ table.data.verbose_name_plural }}{% endif %}
</li>
{% endblock pagination.cardinality %}
</ul>
<div class="pull-right">
<nav>
<ul class="pagination">
{% block pagination.allpages %}
{% if table.page.has_previous %}
<li><a href="{% querystring table.prefixed_page_field=table.page.previous_page_number %}">Previous</a></li>
{% endif %}
{% for p in table.paginator.page_range %}
<li><a href="{% querystring table.prefixed_page_field=p %}">{{ p }}</a></li>
{% endfor %}
{% if table.has_next %}
<li><a href="{% querystring table.prefixed_page_field=table.page.next_page_number %}">Next</a></li>
{% endif %}
{% endblock pagination.allpages %}
</ul>
</nav>
</div>
</div>
{% endblock pagination %}
{% endwith %}
{% endwith %}
{% endif %}
私はちょうど2ページを持っているので、テーブルデータ量が非常に少ない今のところ。しかし、私はランダムなデータでテーブルを作成し、テーブルに10 'ページを得ることができました。 しかし、これは望ましくありません。なぜなら、ページあたり10個の1000個のエントリがある場合、コンテンツエリアを乱雑にしてしまうため、ページナビゲータに100個表示できません。 をクリックすると6|7|8|9|10|..
と表示される1|2|3|4|5|..
のようなものであれば、上の画像に1〜10の代わりに表示されたページの数を何とか制限することができます。 previous
とnext
ボタンを追加しようとしましたが、なぜ失敗したのかはわかりません。