views.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:Guazi 作者: xgkmxxx 项目源码 文件源码
def search(request):
    query = request.GET.get('q','')
    page_size = 20
    after_range_num = 5
    before_range_num = 4
    if query:
        qset = (
                Q(name__icontains=query) |
                Q(city__icontains=query) |
                Q(time__icontains=query) |
                Q(mile__icontains=query) |
                Q(price__icontains=query)
            )
        result = GuaziCar.objects.filter(qset).distinct()
        paginator = Paginator(result, page_size)
        try:
            page = int(request.GET.get('page', '1'))
            if page < 1:
                page = 1
        except ValueError:
            page = 1
        try:
            contacts = paginator.page(page)
        except (EmptyPage,InvalidPage,PageNotAnInteger):
            contacts = paginator.page(paginator.num_pages)
        if page >= after_range_num:
            page_range = list(paginator.page_range)[page-after_range_num:page+before_range_num]
        else:
            page_range = list(paginator.page_range)[0:int(page)+before_range_num]
        return render(request, 'search.html', {'result': contacts, 'query': query, 
                                                'page_range': page_range })
    else:
        result = []
    return render(request, 'search.html', {})
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号