试图将分页添加到Django模型表单集。
django-paginated-modelformset的Python项目详细描述
试图将分页添加到Django模型表单集。
要求
- python 2.6+或python 3
- Django 1.6+
安装
从pypi安装
pip install django-paginated-modelformset
用法
from django.forms.models import modelformset_factory from paginated_modelformset import PaginatedModelFormSet from myapp.models import MyModel MyModelFormSet = modelformset_factory(MyModel, formset=PaginatedModelFormSet) # In addition to standard arguments, provide a number of items per page and a page number. formset = MyModelFormSet(per_page=25, page_num=1)
paginatedmodelformset使用与标准分页相同的Paginator类。一个Page对象可以作为表单集的页面属性访问,您可以在如下模板中使用它:
<div class="pagination"> <span class="step-links"> {% if formset.page.has_previous %} <a href="?page={{ formset.page.previous_page_number }}">previous</a> {% endif %} <span class="current"> Page {{ formset.page.number }} of {{ formset.page.paginator.num_pages }}. </span> {% if formset.page.has_next %} <a href="?page={{ formset.page.next_page_number }}">next</a> {% endif %} </span> </div>
备选方案
有关替代解决方案,请参见此StackOverflow question。