2012-09-01 2 views
2

Django Endless pagination을 검색 양식으로 작업하려고합니다. 온라인에서 본 모든 예제와 튜토리얼은 간단한 .all() 쿼리 세트로 수행하는 방법을 보여 주지만 POST에서 찾은 검색 결과를 필터링해야합니다.Django는 request.method == 'POST'로 페이지 매김을 끝내고 있습니까?

여기에 내 생각이 지금과 같은 방법은 다음과 같습니다

@page_template("core/search_box.html") 
def search(request,template = "core/search.html",page_template = "core/search_box.html",extra_context = None): 
if request.is_ajax(): 
    #template=page_template() 
    #users = Skill_User.objects.filter(skill__name__icontains=content).order_by('-level') 
    #return render_to_response(template , {'page_template': page_template,'menu_home_active':True, 'form':search_form, 'result':users} , context_instance) 
    return HttpResponse("AJAX") 
elif request.method == 'POST': 
    search_form = SearchForm(request.POST) 
    # If Form is Valid 
    if search_form.is_valid(): 
     type = search_form.cleaned_data['type'] 
     content = search_form.cleaned_data['content'] 
     print 'CONTENT ' + str(content) 
     if (type == 'O'): 
      users = Skill_User.objects.filter(skill__name__icontains=content).order_by('-level') 
     elif (type == 'G'): 
      users= {} 
    return render_to_response(template , {'page_template': page_template,'menu_home_active':True, 'form':search_form, 'result':users} , context_instance=RequestContext(request)) 
else: 
    return HttpResponse("NOT OK") 

그래서 검색은 POST에 이루어집니다. 하지만이 끝내기 페이지 매김 플러그인에 의해 수행되는 아약스 쿼리에이 검색 POST를 어떻게 통과 할 수 있습니까? request.ajax() 부분의 모든 내용을 주석 처리 했으므로 POST 요청 이후와 동일한 데이터로 "사용자"를 채워주기 만하면됩니다. 기본적으로, 지금은 아래로 스크롤 할 때 "AJAX"가 나타나고 나머지는 내 쿼리도 원합니다.

아이디어가 있으십니까? 나는 그것에 대해 명백한 어떤 것도 발견하지 못했다. 나는 PHP 배경에서 왔고, 나는 $_SESSION[] 변수에 대해 생각할 것이다. 장고에 비슷한 것이 있습니까?

답변

1

좋아요, 간단한 request.session[""] 개체로 처리 할 수 ​​있습니다.

관련 문제