如何在Django 1.3中使用分页
文件对此不是很清楚
-
我的
视图.py中有什么内容 -
我的模板中有什么
-
我的URLconf文件中有什么内容
我想您会询问有关在新的基于类的视图中使用分页的信息,因为在传统的基于函数的视图中,很容易找到分页。我发现只要设置paginate_by变量就足以激活分页。请参见基于类的常规视图中的
例如,在视图.py中:
导入模型
从django.views.generic导入ListView
类别CARISTVIEW(列表视图):
model=models.Car#设置queryset=models.Car.objects.all()的简写
template_name='app/car_list.html'#可选(默认值为app_name/modelNameInLowerCase_list.html;它将在模板文件夹中查找该路径和文件)
context_object_name=“car_list”#默认值为对象列表以及模型的详细名称列表和/或模型的详细名称列表(如果在模型的内部元类中定义)
按=10分页,就这样!!
在您的模板(car_list.html)中,您可以包括这样的分页部分(我们有一些上下文变量可用:已分页,页面对象,以及分页器)
{#....**普通内容列表,可能是一个表**..}
{%if car_list%}
<;表id=“cars”>;
{car in car_list%}
<;tr>;
<;td>;{{car.model}}</td>;
<;td>;{{car.year}</td>;
<;td>&书信电报;a href=”https://stackoverflow.com/car/{{car.id}/“class=”请参阅详细信息“>;细节</a></td>;
</tr>;
{%endfor%}
</表>;
{#....**现在是分页部分**..}
{%if已分页%}
<;div class=“分页”>;
<;span class=“页面链接”>;
{%如果页面_obj.has_previous%}
<;a href=”https://stackoverflow.com/cars?page={{page_obj.previous_page_number}}”>;以前的</a>;
{%endif%}
<;span class=“当前页面”>;
第{{Page_obj.paginator.num_pages}页中的第{{Page_obj.number}页。
</span>;
{%如果页面_obj.has_next%}
<;a href=”https://stackoverflow.com/cars?page={{page_obj.next_page_number}}”>;下一步</a>;
{%endif%}
</span>;
</部门>;
{%endif%}
{%else%}
<;h3>;我的车</h3>;
<;p>;找不到车!!!:(<;/p>;
{%endif%}
{#....**更多内容、页脚等。**...}
要显示的页面由GET参数指示,只需将?page=n添加到URL即可