Django: Boucle for et afficage des resulats dans un template
Bonjour,
Je cherche a afficher le nom de personne en fonction de leur ID. J'utilise la table User de Django pour m'authentifier.
La boucle for fonctionne bien, dans le terminal j'ai bien les résultats des ID sous cette forme:
p.id
1
p.id
2
qui s'affiche mais dans le template, je n'en ai qu'un seul résultat, le premier, alors que j'aimerai en plusieurs
Savez-vous pourquoi ?
Merci
Models.py
-------------
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| class Mission(models.Model):
nom = models.ManyToManyField(Identite, blank=True, null=True)
dsx = models.CharField(max_length=7, blank=True, default='', null=True)
pays = models.ForeignKey(Pays)
ville = models.CharField(max_length=15, null=True)
date_depart = models.DateField(blank=True, null=True)
date_retour = models.DateField(blank=True, null=True)
vol = models.TextField(blank=True, default='', null=True)
etat = models.BooleanField(default=False)
document = models.ManyToManyField(Typedoc, null=True)
fichenavette = models.TextField(null=True)
source = models.CharField(max_length=20, blank=True, default='', null=True)
class Assurance(models.Model):
nom = models.ForeignKey(User, null=True)
type_assurance = models.CharField(max_length=20)
num_contrat = models.CharField(max_length=10)
nom_assurance = models.CharField(max_length=10)
validite = models.DateField(blank=True, null=True)
acquereur = models.CharField(max_length=20, blank=True, null=True)
repondant = models.CharField(max_length=20, blank=True, null=True) |
views.py
-----------
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #idm = id de la mission
def detail_mission(request,idm):
identite = Identite.objects.all()
missionss = Mission.objects.filter(id=idm)
missions = Mission.objects.filter(id=idm)
print missions.query
for mission in missions:
for p in mission.nom.all():
print "p.id"
print p.id
assurance = Assurance.objects.all().filter(nom_id=p.id)
return render(request, 'detail_mission.html', {'identites': identite, 'missions':missionss, 'assurances':assurance}) |
templates
------------
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
{% if assurances %}
<table>
<thead>
<tr>
<th>nom:</th>
<th>Nom de l'assurance:</th>
</tr>
</thead>
<tbody>
<tr>{% for assurance in assurances %}
<td>{{ assurance.nom }}</td>
<td>{{ assurance.nom_assurance }}</td>
</tr>{% endfor %}
</tbody>
</table>{% endif %} |
Merci à vous