Если в Html вызвать модель

У меня эта модель:

class Canva(models.Model):

    name = models.CharField(null=True, blank=True, max_length=255)
    site = models.CharField(null=True, blank=True, max_length=255)
    month = models.CharField(null=True, blank=True, max_length=255)
    year = models.IntegerField(null=True, blank=True)
    
    def __str__(self):
        return self.name

на html-странице: когда я пишу {{ canva.month }}, он показывает мне значение JUNE

но когда я пишу:

{% if JUIN == canva.month %}

hello

{% else %}

прощай

{% endif %}

он всегда показывает мне прощание.

Вы должны сравнить его со строкой, а не с идентификатором, поэтому:

{% if canva.month == 'JUNE' %}
  hello
{% else %}
  goodbye
{% endif %}

Однако я бы настоятельно советовал использовать DateTimeField, а не хранить даты как набор строк. Легко сохранить, например, 'JUIN' вместо 'JUNE', и это делает сравнение двух дат (почти) невозможным.

Вернуться на верх