Google app engine Django模板-将日期与今天进行比较
我试图制作一个简单的IF函数,检查一个项目的日期是否等于今天。不幸的是,我不能让它工作。我基本上认为这个声明是错误的,没有显示任何内容,即使它显示了。我也没有得到任何错误 我使用的代码如下: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 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 %}
可能的重复我已经添加了一个更新,希望能解释为什么这不是一个重复,因为我可以告诉。我签出了另一个问题,但无法将其用作解决方案。请添加模型文件的列表,以了解为什么要进行额外查询。模型表示具有特定到期日期的优惠券。基于这个日期,我想提出通知,这是最后一天的优惠券是可用的。为此,我查询用户所在页面的优惠券,然后进行此检查。这解释了吗?现在是什么?它是从哪里来的?