django 分页查询搜索--传递查询参数,翻页时带上查询参数

django在分页查询的时候,翻页时,v层要传递查询参数,相应的html翻页连接也要带上查询参数

直接上代码

view:

@login_required
def search_name(request):


    username = request.session.get('user')
    search_name = request.GET.get('name')
    if search_name == None:
        search_name = request.GET.get('name')


    event_list = Event.objects.filter(name__contains=search_name)

    paginator = Paginator(event_list, 2)
    page = request.GET.get('page')
    try:
        contacts = paginator.page(page)

    except PageNotAnInteger:
        # 如果page不是整数,取第一页面数据
        contacts = paginator.page(1)
    except EmptyPage:
        # 如果page不在范围内,则返回最后一页数据
        contacts = paginator.page(paginator.num_pages)

    return render(request,'event_manage.html',{'user':username,'events':contacts,'name':search_name})

 

html:

  <!--列表分页器-->
    <div class="pagination">
    <span class="step-links">
        {% if events.has_previous %}
            <a href="?page={{ events.previous_page_number  }}&&name={{ name }}">previous</a>
        {% endif %}
        <span class="current">
            Page {{ events.number }} of {{ events.paginator.num_pages }}

        </span>
        {% if events.has_next %}
            <a href="?page={{ events.next_page_number }}&name={{ name }}">next</a>
        {% endif %}

    </span>
    </div>
    {% include 'include/pager.html' %}

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值