Je retourne une liste à partir de la vue et je souhaite émettre la valeur spécifique par touche dans le modèle.
liste retournée (liste _) p> dans le modèle : p> retourne 4. p> Puis-je simplifier le modèle et Sortie juste par la clé? P> Par exemple: P> Mon point de vue: p> {{list_.2.category 3}} code> p>
{{list_key ['catégorie 3']}} code> p>
3 Réponses :
Convertir la liste code> de
dict code> à un
dict code>
from collections import defaultdict
def MapView(request):
applications = Application.objects.values(
'name', 'id', 'icon_name').filter(organization_id=1).order_by('name')
devices = Device.objects.all()
count_list = defaultdict(int)
for a in applications:
count_list[a['name']]+= devices.filter(id=a['id']).count()
context = {
'test': count_list,
}
return render(request, 'applications/map.html', context)
J'ai ajouté ma vue, je pense que je peux le changer au dictionnaire. Je veux juste ajouter des articles à cela. C'est pourquoi j'ai utilisé une liste
Parfait. Vous avez répondu à ma question. Une petite note. J'ai besoin de concessurer une liste avec un autre champ de la boucle. par exemple. test.a.name code >.Name est la valeur d'itération de la boucle.
pour A dans les applications code>
Vous pouvez retourner un dictionnaire de votre vue et accéder à la valeur de la clé plus pratique.
Pour par exemple. p> et vous pouvez y accéder dans votre modèle comme celui-ci - p> ou p>
Vous ne pouvez pas utiliser de braguts carrés dans un modèle, mais vous pouvez créer personnalisé SIMPLE TAG :
{% access_lst list 2 "category 3" %}