Django模板中的if语句有问题:两个相等的字符串不相等

2024-06-28 20:05:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在我的Django网站上建立一个表格,显示一家咨询公司的所有客户,以及每个公司至今还有多少合同

我的代码似乎工作,但它显示了两个相同的字符串和工作,如果他们不相等

我试着用这个逻辑: 我在每个客户机上执行for循环来构建表(每个客户机一行)

在每个客户的模板上,我将对每个合同做一个forloop,检查合同客户是否是客户:如果是这样,我增加一个var,在这个子forloop的末尾,我可以显示每个客户有多少任务

以下是我的模板代码:

    <table class="contenu">
        <thead>
            <th>Nom client</th>
            <th>Domaine</th>
            <th> Missions en cours </th>
            <th>Modification </th>
        </thead>
        <tbody>
    {% for client in listeClients %}
            <tr>
            <td>{{ client.nomClient }}</td>
            <td>{{ client.domaineClient }}</td>
            {% with compteur=0 %}
            {% for mission in missionsEnCours %}
                {% if client.nomClient == mission.client %}
                    {{compteur|augment}}
                    <script>alert("Ca incrémente")</script>
                {% else %}
                    <script>alert("{{ client.nomClient }} ---et--- {{ mission.client }}")</script>
                {% endif %}
            {% endfor %}
            <td>{{ compteur }}</td>
            <td><a href="">MODIFIER</a></td>
            </tr>
            {% endwith %}
    {% endfor %}
        </tbody>
    </table>

我试过调试警报,有时它会显示两个相同的字符串,但var compteur从不递增,也从不显示警报“Ca incremente”

警报中显示的相同字符串示例:

https://zupimages.net/up/19/41/p4aj.png

我错过了什么?你知道吗

我的模型:

class client(models.Model):
    nomClient = models.CharField(max_length=200)
    domaineClient = models.CharField(max_length=200)
    def __str__(self):
        return self.nomClient

class experiences(models.Model):
    nomMission = models.CharField(max_length=300)
    client = models.ForeignKey(client, on_delete=models.CASCADE)
    serviceConcerne = models.ForeignKey(services, on_delete=models.CASCADE)
    dateDebut = models.DateField('date de début de mission')
    dateFin = models.DateField('date de fin de mission', blank=True, null=True)
    nbJourHomme = models.IntegerField()
    contexteMission = models.TextField()
    descriptifMission = models.TextField()
    environnementMission =  models.TextField()
    collaborateurMission = models.ForeignKey(collaborateurs, on_delete=models.CASCADE, default='')
    def __str__(self):
        return self.nomMission

我的观点:


def client_all(request):
    listeClients = client.objects.order_by("nomClient")
    missionsEnCours = experiences.objects.filter(dateFin__gte=datetime.date.today()).order_by("dateFin")
    return render(request, 'collab/client.html', {'listeClients': listeClients, 'missionsEnCours':missionsEnCours})

非常感谢:)


Tags: 字符串selfclientfor客户modelsscriptde