2011-07-27 3 views
2

여러분. Haystack 튜토리얼/문서에서 내 (간단한) 응용 프로그램으로 바로 이동할 수는 없습니다.건초 더미에서보기

저는 Haystack/Whoosh가이 튜토리얼에 따라 작업하고 결과를 제공합니다. 이제 별도의 검색 페이지 대신 양식에서 아카이브 페이지를 검색하여 결과를 동일한 페이지에 다시 제공하려고합니다.

나는이 가서 검색 폼을 표시하고 쿼리를 반환있어 :

def blog_list(request, template_name="blog/blog_list.html"): 
    query=request.GET.get('q','') 
    form=ModelSearchForm({'q': query }) 

    extra_context = { 
     'query': query, 
     'form': form, 
    } 
    return object_list(
     request, 
     queryset=Entry.live.all(), 
     extra_context=extra_context 
    ) 

그러나 템플릿

, {% for result in page.object_list %} 아무것도 반환하지 않습니다. 절반 문제는 내가 page.object_list이 어디에서 왔는지 알지 못했고 튜토리얼/문서에서 그것을 이해할 수 없다는 것입니다.

누구든지 나에게이 점을 밝힐 수 있습니까? 고맙습니다.

+0

동일한 문제가 있습니다. 간단한 사용자 정의 검색을 만들고 자습서에서 점프를 할 수 없습니다. 너 혹시 알아 냈어? – Atma

답변

2

page이라는 항목을 전달하지 않았으므로 자연스럽게 비어 있습니다. 당신이 구체적으로 그것을 전달하지 않으면 어디서나 "오는"것은 아닙니다.

당신이하고있는 것처럼 보이지 않는 비트는 실제로 검색을 수행하고 결과를 템플릿에 전달하는 것입니다. Haystack에 내장 된 basic_search view에서이 작업이 어떻게 수행되는지보십시오. 양식의 .search() 메서드를 호출하고 결과를 Paginator 클래스로 전달한 다음 컨텍스트로 전달합니다.

+0

필자는'(r '^ search /', include ('haystack.urls'))를 설정했을 때 특별히 아무것도 전달하지 않고 있다고 대답 할 수 있다고 가정합니다. 그러나 조종사에게 감사드립니다. 'basic_search'를보고 (그리고 내가보고있는 것을 깨닫는 즉시) 자리에 떨어졌습니다. – Richard

관련 문제