2017-08-11 1 views
0

J'ai essayé de peupler ces sortie dans la vue de modèle de flacon. Mais quand il rend affiche la dernière valeur de liste dans la table (écrasant la première liste). Quelqu'un peut-il m'aider s'il vous plaît sur la façon de créer une nouvelle colonne lorsque la deuxième liste arrive à l'image?modèle de flacon convertissant deux liste en différentes colonnes dans la vue de table

code Python:

for i in mac: 
    #sqlite query 
    usage_list = cur.fetchall() 

sortie usage_list:

[5.0, 5.0, 5.0, 5.0, 5.0] 
[10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0] 

code HTML

{% for item in usagelist %} 
    <tr> 
    <td> {{item}} </td>  

    </tr> 
{% endfor %} 

sortie souhaitée: ex:

col 1 col 2 

10.0 0.0 
10.0 5.0 
10.0 5.0 
10.0 5.0 
10.0 0.0 
10.0 5.0 
+0

Chaque itération de boucle génère une ligne avec une seule colonne. Êtes-vous sûr que c'est ce que vous voulez? Pour créer une table, vous avez probablement besoin de deux boucles imbriquées, une pour les lignes et une pour les colonnes. –

+0

@FlorianWinter Hiver vous avez raison.J'ai essayé avec deux boucles imbriquées.Je peux diviser ces valeurs, mais pouvez-vous me suggérer comment passer cette liste pour la colonne et la rangée séparément? – praveen

+0

Vous parlez de deux listes, mais dans votre code, il n'y a qu'une seule liste, appelée 'usage_list'. Aussi, sous "output of usage_list", vous montrez deux listes. Voulez-vous dire qu'il y a une autre variable, disons 'list2', qui est une autre liste et qui devrait être utilisée pour remplir la deuxième colonne? –

Répondre

0

Si vous ne pouvez pas (facilement) construire une construction en boucle dans le moteur de modèle qui correspond à vos besoins, vous pouvez toujours transformer les données avant de les transmettre au moteur de modèle.

Par exemple, vous pouvez transformer deux listes en une liste de listes en Python:

table_data = [[list1[i], list2[i]] for i in range(0, len(list1))] 

(Vous pouvez probablement utiliser aussi itertools.izip ici ...)

puis utilisez les boucles imbriquées pour rendre la données transformées en jinja:

{% for row in tabledata %} 
<tr> 
    {% for item in row %} 
    <td> {{item}} </td>  
    {% endfor %} 
</tr> 
{% endfor %} 
+0

merci, je vais vérifier avec cela et revenir à vous et désolé pour la réponse tardive – praveen