2012-04-10 48 views
-1

我敢肯定,我的措辞问题正确,但在这里不用... 我有显示在conference_list.html以及参加者的数量会议的列表。 。他们的标题显示正常......但是,每个会议的与会者数量都是相同的。Python在循环列表中显示相同的值。

Conference 1  Attendees 2 
Conference 2  Attendees 2 
Conference 3  Attendees 2 
Conference 4  Attendees 2 

会议4是唯一有2个与会者的会议。其他人有不同的金额。

Views.py:

@login_required 
def conference_list(request): 
    try: 
     session_notification = request.session['notification'] 
     del(request.session['notification']) 
    except: 
     session_notification = None 

    PAGE_SIZE = 20#number of conferences per page 
    page = int(request.GET.get('page', 1)) 
    upper_bound = page * PAGE_SIZE - 1 
    lower_bound = (page - 1) * PAGE_SIZE 

    context = base_context(request) 
    network = context['network'] 

    conferences = Conference.objects.all() 
    second = [] 
    result = [] 
    counter = 0 

    for conference in conferences: 
     is_attending = False 
     if counter < lower_bound or counter > upper_bound: 
      counter += 1 
      result.append(None) 
      continue 
     result_item = {} 
     result_item['conference'] = conference 
     result.append(result_item) 
     counter += 1 

     attendees = conference.investors.all() 
     count = attendees.count() 
     if request.user in attendees: 
      is_attending = True 

     context['attendees'] = attendees 
     context['is_attending'] = is_attending 
     context['count'] = count 

    context['current'] = 'conferences' 
    context['conferences'] = result 

    return render_to_response('conference_list.html', context, context_instance=RequestContext(request)) 

模板:

{% for conference in conferences %} 
    <p>{{ conference.conference.name }}</p><span>{{ count }}</span> 
{% endfor %} 

这究竟是为什么?为什么我不能显示适量?

回答

3

您的计数变量只保留最后一个值,因为您只需在视图中循环的每次迭代中覆盖它。尝试result_item['conferences']['count'] = count并在其后移动行result.append(result_item)。相应地调整您的模板。

+0

'异常类型:\t KeyError异常 异常值:\t conferences' – Modelesq 2012-04-10 16:16:23

+0

@Modelesq所以,你要布尔汗写你确切的代码吗? – Marcin 2012-04-10 16:39:42

+0

@Marcin不,我不知道那是什么错误。 – Modelesq 2012-04-10 16:44:08