私の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 %}