我想将日期与Django中的当前日期进行比较,最好是在模板中,但也可以在呈现模板之前进行比较.如果日期已经过go ,我想说"过go ",如果是在future ,我想给出日期.

我希望有人能做这样的事:

{% if listing.date <= now %} 
     In the past 
{% else %} 
     {{ listing.date|date:"d M Y" }} 
{% endif %}

现在是今天的日期,但这不管用.我在Django 的文件里找不到任何关于这个的东西.有人能给点建议吗?

推荐答案

比较视图中的日期,并将in_the_past(布尔值)之类的值传递给额外的上下文.

Or better add it to the model as a property.

from datetime import date

@property
def is_past_due(self):
    return date.today() > self.date

然后在模板中:

{% if listing.is_past_due %}
    In the past
{% else %}
    {{ listing.date|date:"d M Y" }}
{% endif %}

基本上,模板不是国际海事组织进行日期比较的地方.

Django相关问答推荐

为什么当对字段使用自定义序列化器时,Django Rest框架中Inbox字段会消失?

如何在Django中更改模型字段名称?

把Django测试和testcafe结合起来?

Django ORM ForeignKey查询使用注释设置输出

获取 Django Rest API 的第一个和最后一个相关对象

Django `UniqueConstraint` 异常处理方式与 'unique=True' 相同

是否可以在 Django 中重命名应用程序的组名?

如何在 Django 中返回静态 HTML 文件作为响应?

在 django 中获取本地时区

如何在 django-rest-framework 中为 API 使用 TokenAuthentication

Django populate() 不可重入

如何在 Django 中向 ChoiceField 添加class?

django 有条件地过滤对象

django 表单为关键字参数获取了多个值

Django 什么是反向关系?

import_module 的 Django 1.9 ImportError

Django 发送邮箱

Django Admin:如何在内联中显示模型上定义的属性?

如何获取经过身份验证的用户列表?

如何在 Django 中创建一个非空的 CharField?