在我的自定义模板中,将对其应用分页。在页面上显示的列表比我在其上使用的分页要大得多。显示列表的限制是正确的,但是当我点击下一个按钮而不是其他条件时。
views.py: -
@csrf_exempt
def search(request):
if request.method == 'POST':
getchoice = request.POST['userchoice']
getfirstdate = request.POST['firstdate']
getseconddate = request.POST['seconddate']
if getchoice == '0':
getdata = applicationform.objects.filter(date__gte=getfirstdate , date__lte=getseconddate)
##### PAGINATION
searchpagination = Paginator(getdata ,5)
page = request.GET.get('searchpage')
try:
searchcontacts = searchpagination.page(page)
except PageNotAnInteger:
searchcontacts = searchpagination.page(1)
except EmptyPage:
searchcontacts = searchpagination.page(searchpagination.num_pages)
if getdata:
return render_to_response('registration/search_page.html', {'getdata':getdata ,'getchoice':getchoice ,'searchcontacts': searchcontacts})
else:
return HttpResponse('NO ITEMS FOUND ON THIS DATE')
else :
return render_to_response('registration/search_page.html')
自定义模板: -
{% if searchcontacts.has_previous %}
<a href="?searchpage={{ searchcontacts.previous_page_number }}">PREVIOUS</a>
{% endif %}
{% if searchcontacts.has_next %}
<a href="?searchpage={{ searchcontacts.next_page_number }}">NEXT</a>
{% endif %}
答案 0 :(得分:0)
点击NEXT
将GET
请求,因此它会进入else
部分。
要继续搜索下一页,您需要在会话中存储搜索参数或通过url传递它。然后在filter()
查询中使用它。