2016-05-06 14 views
-3
my view. 
teamname_list = team.objects.values('teamName') 

in my template template html 
{{teamname_list}} 

outputs: 
[{'teamName': "['Paul', 'John']"}] 
--------------------------------------------------- 
alternatively values instead of values_list 
view 
teamname_list = team.objects.values('teamName') 
in template 
{{teamname_list}} 
output: 
[("['Paul', 'John']",)] 

Gibt es eine Möglichkeit, um eine Schleife durch teamname_list die Zeichen einzeln zu erhalten, also auf der HTML-Seite zeigt es, wie gerade Paulus und Johannes, als ihre eigene Zeichenfolge behandelt oder sogar eine Liste der Herstellung so durch sie Looping und das Hinzufügen von ihnen zu einer ungeordneten Liste dhLooping durch eine Liste/Wörterbuch django Vorlage

* paul 
* john 

für eine Weile jetzt paar Stunden versucht, und kann nicht scheinen, etwas zu erhalten zu arbeiten, versucht, jede mögliche Lösung außer für Filter, weil ich scheinen ein Problem mit ihnen haben. Irgendwelche anderen Lösungen?

+0

Was ist das Feld Art des Teamnamen in Ihrer Modellklasse? –

+0

Können Sie die Modelle auch hinzufügen? – AKS

+0

Sie müssen Ihre gesamte Ansicht zeigen. Sie tun etwas sehr Merkwürdiges, um eine einzelne Zeichenkette zu haben, die Ihre zwei Werte in einem Tupel innerhalb einer Liste enthält. –

Antwort

0

Sie können eine for loop in Ihrer Django-Vorlage verwenden. Zum Beispiel:

<ul> 
    {% for teamname in teamname_list %} 
    <li>{{ teamname }}</li> 
    {% endfor %} 
</ul> 

EDIT: Ich habe nicht realisiert, dass Ihre Liste tatsächlich nur einen Wert hat. Versuchen Sie, diese für den Anfang:

teamname_list = team.objects.all() 
+0

Nein, das wird ausgedruckt: * ("[Paul ',' John ']",) wo Stern ein Aufzählungszeichen ist – erergregreg

+0

Ahh Ich wusste nicht, dass deine Liste einen Wert hat: '" [' Paul ',' John ' ] ". Ich denke, dass Sie in der Ansicht falsch zugreifen, siehe meine Bearbeitung. – rofls

+0

all() nimmt 1 Positionsargument aber 2 wurden gegeben – erergregreg

0
teamname_list = team.objects.values_list('teamName', flat=True) 

Dies wird zurückkehren Namensliste. Verwenden Sie einen für die Schleife in Vorlage und Anzeigenamen.

<ul> 
    {% for teamname in teamname_list %} 
    <li>*{{ teamname }}</li> 
    {% endfor %} 
</ul> 
+0

Dies wird eine Liste (Aufzählungspunkt) für jeden Buchstaben im Team-Namen zurückgeben ... so, anoop = * a * n * o * o * p und nicht * anoop – Paul9

+0

@ Paul9, teilen Sie Ihr Modell und eine Beispielabfrage Antwort – Anoop

0
teamname_list = team.objects.all() 

HTML-Code

<ul> 
    {% for name in teamname_list %} 
    <li>{{ name.teamName }}</li> 
    {% endfor %} 
</ul> 

Bitte teilen Sie Ihr Modell für weitere Klärung