问题:在使用django分页功能时,如果list添加了查询功能,点下一页时,查询条件会被清空,返回的下一页是全量数据的下一页。
症结:1.下一页的链接要带查询条件;2 路由要能正确捕获参数;3 view要能正确处理 ;4 view 还需把查询条件返回给模板以便后续的链接能拿到查询条件;5 view还要在没有查询条件时正常工作,view返回查询条件只在上一次查询时带条件。解决了上面这些问题,问题便解决了,下面给出一种解决方案,仅供参考,思路如下:初始查询入口通过form进而request.GET传递给视图,视图利用extra_context向模板返回查询条件,模板链接的参数再通过路由捕获给kwargs,再传递给视图函数,从而形成一个闭环,无查询条件时删除extra_context的查询条件让不带查询的分页正常工作。
1.form 初始查询条件(模板):
<form action="{% url 'voucher:productnetvalue-list'%}" method="get">
产品全称:<input type="text" name="ProductFullName">
<input type="submit" value="搜索">
</form>
2.下一页的链接(模板):
{% if is_paginated %}
<div class="pa