在我的 django 项目中,我使用 Django Endless Pagination 进行分页,使用 haystack + elasticsearch 进行搜索。当我搜索特定内容时,请求方法是 POST 并且结果是正确的,但是当我尝试对搜索结果进行分页时,下一个请求被接收为 GET 并且搜索结果丢失并且整个内容被迭代。
这是我的代码:
视图.py
@login_required(login_url="/")
@page_template('students/students_listing_block.html')
def students(request, template='students/students_listing.html', extra_context=None, *args, **kwargs):
sqs = SearchQuerySet().models(Student)
if request.POST:
searchcontent = request.POST.get('content', None)
if searchcontent:
sqs = sqs.filter(content=searchcontent)
students = sqs.order_by('-created_at')
context = {
'students': students,
}
if extra_context is not None:
context.update(extra_context)
return render_to_response(template, context,
context_instance=RequestContext(request))
和我的模板
{% load endless %}
{% lazy_paginate students %}
{% for student in students %}
// Do the displaying here
{% endfor %}
{% show_more %}