2016-07-21 8 views
-3

in view.pyFor-Schleife funktionierte nicht in view.py Django?

Id = [2,3,4,5,6,7,8] 

for w in Id: 
    A = w 
    Pending = pending(A) 
    data = {  
     'Pending': Pending, 

    } 
    return render_to_response('dialer_campaign/campaign/list.html', data, context_instance=RequestContext(request)) 

def pending(campaign_id): 

    A = Campaign_phonebook.objects.values_list('phonebook_id').filter(campaign_id = campaign_id) 

    B = Contact.objects.filter(phonebook_id__in=A).count() 
    C = Subscriber.objects.filter(campaign_id = campaign_id).exclude(status = 1).count() 
    Result = B - C 
    return Result 

Wenn ich Handwert es gibt Ergebnis statt A hinzufügen, aber jetzt will ich für Schleife von Wert geben, es working.Why nicht wahr? Kann mir jemand helfen ?

Willst du Änderungen, sollte ich in Vorlagen tun?

In image you can see result.it is result when i assign pending(8).I want to get result against loop. Result of every box in pending should be according to value of loop.

Vielen Dank im Voraus ..

+0

Bitte formatieren Sie Ihren Code richtig! –

+0

Sag mir, wo du Schwierigkeiten im Code hast? –

+0

Tatsächlich überschreiben Sie Datenobjekt. –

Antwort

1

Ihr Datenobjekt in der Liste nehmen und

die Vorlage macht Refer-Code folgende

Id = [2,3,4,5,6,7,8] 
pending_list = [] 
for w in Id: 
    pending = pending(w) 
    pending_list.append({'pending': pending}) 
    return render_to_response('dialer_campaign/campaign/list.html', pending_list, context_instance=RequestContext(request)) 

def pending(campaign_id): 
    A = Campaign_phonebook.objects.values_list('phonebook_id').filter(campaign_id = campaign_id) 
    B = Contact.objects.filter(phonebook_id__in=A).count() 
    C = Subscriber.objects.filter(campaign_id = campaign_id).exclude(status = 1).count() 
    Result = B - C 
    return Result 

Verwenden pending_list in Ihrer Vorlage. In der Liste pending_list erhalten Sie alle ausstehenden Objekte.

+0

Großartige Idee. Bitte sagen Sie mir, was ich in Templates tun soll? –

+0

Verwenden Sie eine for-Schleife in Ihrer Vorlage '' {% für i in pending_list%} {{i.pending}} {% endfor%} '' –

+0

Ok, ich werde es versuchen. –

Verwandte Themen