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

时间:2019-10-10 09:05:55

标签: python django python-3.x django-templates

我正在尝试在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递增”。

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

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})

非常感谢:)

1 个答案:

答案 0 :(得分:1)

mission.clientclient的实例。

client.nomClient是一个文本字符串。

尝试mission.client.nomClient == client.nomClient