Python 在Django模板中使用比较器比较日期

Python 在Django模板中使用比较器比较日期,python,django,date,django-templates,comparator,Python,Django,Date,Django Templates,Comparator,我试图将事件的结束日期与今天的日期进行比较,以查看事件是否已结束。如果活动已经结束,网站用户将没有注册按钮,如果活动尚未开始或正在进行,用户将有一个html注册按钮 我已在我的html模板中尝试过: {% if event.end_date|date:"jS F Y H:i" <= today|date:"jS F Y H:i" %} {% include 'event/includes/enroll.html' %} 但我不知

我试图将事件的结束日期与今天的日期进行比较,以查看事件是否已结束。如果活动已经结束,网站用户将没有注册按钮,如果活动尚未开始或正在进行,用户将有一个html注册按钮

我已在我的html模板中尝试过:

{% if event.end_date|date:"jS F Y H:i" <= today|date:"jS F Y H:i" %}
          {% include 'event/includes/enroll.html' %}
但我不知道如何导入该方法并在html模板中使用它

我想尝试在视图中添加一个变量,如下所示:()

但是一位同事编写了一个基于类的视图来呈现模板,但不确定如何使用基于类的视图添加要呈现的变量。我还发现了一个错误:

TypeError: '>=' not supported between instances of 'DeferredAttribute' and 'datetime.datetime'

如果有人能就如何最好地实现我的需求提供建议,我将不胜感激:D

您好,您为什么不使用自定义过滤器,它将在您的模板中返回
True
False
?():

导入日期时间
从django导入模板
从django.conf导入设置
register=template.Library()
@寄存器过滤器
def事件结束(日期事件):
返回日期\事件>=datetime.date.today()

文档中的链接告诉您将自定义模板放置在何处

Thank@maximeK我刚刚尝试使用my_tags.py中的templatetag和模板中的{%load my_tags%}来实现这一点。但是它仍然忽略了我打印和测试的结束日期,并且没有显示注册按钮,无论事件是否结束,我都忘记在date\u事件之后添加.date(),以删除时间。现在都开始工作了!再次感谢
is_today = model.end_date >= datetime.today()
return render_to_response('template.html', {'is_today': is_today})
TypeError: '>=' not supported between instances of 'DeferredAttribute' and 'datetime.datetime'
{% load poll_extras %}
{% if event.end_date | event_ended %}
    {% include 'event/includes/enroll.html' %}