Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine Django模板-将日期与今天进行比较_Google App Engine_Date_Django Templates - Fatal编程技术网

Google app engine Django模板-将日期与今天进行比较

Google app engine Django模板-将日期与今天进行比较,google-app-engine,date,django-templates,Google App Engine,Date,Django Templates,我试图制作一个简单的IF函数,检查一个项目的日期是否等于今天。不幸的是,我不能让它工作。我基本上认为这个声明是错误的,没有显示任何内容,即使它显示了。我也没有得到任何错误 我使用的代码如下: {% if item.valid_until.date == now.date %} <div id="what_i_want_to_show"> CONTENT </div> {% endif %} valid_until的内容是来自Google应用程序引擎应用程

我试图制作一个简单的IF函数,检查一个项目的日期是否等于今天。不幸的是,我不能让它工作。我基本上认为这个声明是错误的,没有显示任何内容,即使它显示了。我也没有得到任何错误

我使用的代码如下:

{% if item.valid_until.date == now.date %}
  <div id="what_i_want_to_show">
    CONTENT
  </div>
{% endif %}
valid_until的内容是来自Google应用程序引擎应用程序的DateTimeProperty。通常在Django模板中使用它不会导致任何问题。迄今为止,类似问题的解决方案并不奏效。我错过了什么明显的东西吗

更新1:


此语句在数据库查询结果的循环中运行。因此,就我所知,在视图中进行比较并不奏效,因为我必须将变量与每个项目一起发送。

关于这种情况,有两种方法:

第一: 您可以在模型上添加@属性

型号:

from datetime import date

@property
def is_past_due(self):
    return timezone.now() > self.valid_until # if valid until default is timezone.now else change it
模板:

{% if item.is_past_due %}
    <!--In the past-->
{% else %}
    {{ item.valid_until.date|date:"Y-m-d" }}
{% endif %}
第二: 使用模板上的格式声明今天日期

{% now "Y-m-d" as todays_date %}
{% if todays_date  < item.valid_until.date|date:"Y-m-d" %}
  <div id="what_i_want_to_show">
    CONTENT
  </div>
{% endif %}

可能的重复我已经添加了一个更新,希望能解释为什么这不是一个重复,因为我可以告诉。我签出了另一个问题,但无法将其用作解决方案。请添加模型文件的列表,以了解为什么要进行额外查询。模型表示具有特定到期日期的优惠券。基于这个日期,我想提出通知,这是最后一天的优惠券是可用的。为此,我查询用户所在页面的优惠券,然后进行此检查。这解释了吗?现在是什么?它是从哪里来的?