2011-12-14 2 views
1

'페이지'객체가 반복 가능한하지 않는 문서에 말한대로 : 렌더링하는 동안 형식 오류를 잡았다는장고 매김주는 오류 : 나는 장고 페이지 매김을 사용하고

def list(request): 
job_list = Job.objects.all() 
paginator = Paginator(job_list, 25) # Show 25 jobs per page 

page = request.GET.get('page',1) 
try: 
    jobs = paginator.page(page) 
except PageNotAnInteger: 
    # If page is not an integer, deliver first page. 
    jobs = paginator.page(1) 
except EmptyPage: 
    # If page is out of range (e.g. 9999), deliver last page of results. 
    jobs = paginator.page(paginator.num_pages) 

return render_to_response('jobs/list.html', {"jobs": jobs}) 

및 템플릿은 다음과 같습니다

보기 부분은 다음과 같습니다

<div> 
    {% for job in jobs %} 
{# Each "contact" is a Contact model object. #} 
{{ job.title|upper }}<br /> 

{% endfor %} 

<div class="pagination"> 
<span class="step-links"> 
    {% if contacts.has_previous %} 
     <a href="?page={{ contacts.previous_page_number }}">previous</a> 
    {% endif %} 

    <span class="current"> 
     Page {{ contacts.number }} of {{ contacts.paginator.num_pages }}. 
    </span> 

    {% if contacts.has_next %} 
     <a href="?page={{ contacts.next_page_number }}">next</a> 
    {% endif %} 
</span> 
</div> 
</div> 

그러나 말하는 오류를 제공합니다

In template d:\programming\django_projects\kaasib\templates\jobs\list.html, error at line 32 
Caught TypeError while rendering: 'Page' object is not iterable 

나는 장고에 새로 왔으며이 오류는 일반적이지만 매우 이상하게 보입니다. 루프에는 작업이 아닌 다른 변수가 있기 때문입니다. 그래서 누군가 그것에 대해 어떤 생각을 가지고 있는지 말해주십시오.

감사

답변

3

오류가 명확해야 - 당신이 jobs라고 한 변수는 실제로 매기기에서 Page 개체가 포함되어 있습니다. jobs에서 paginator.page(x)으로 지정 했으므로 그대로 있어야합니다. 그래서 분명히 페이지가 있습니다.

documentation

는 무엇을 보여줍니다

{% for job in jobs.object_list %}