首页 > 解决方案 > 如果在 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 %}

你好

{% 别的 %}

再见

{% 万一 %}

它总是向我告别。

标签: pythonhtmldjango

解决方案


您应该将其与字符串进行比较,而不是与标识符进行比较,因此:

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

但是,我强烈建议使用 a DateTimeField,而不是将日期存储为字符串的集合。例如,它很容易保存'JUIN'而不是'JUNE',并且它使比较两个日期(接近)变得不可能。


推荐阅读