django带查询分页点下一页(含前一页、首页末页)时查询条件丢失

问题:在使用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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值