我有一个模板标签,可以从模型字段中返回日期。如果日期是今天,我想呈现一些其他内容。 使用现在内置模板标签:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#now,我使用的逻辑类似于此前发布的答案中的答案:
https://stackoverflow.com/a/34959070/5616606
{% now "Y-m-d" as todays %}
{% if self.date|date:"Y-m-d" == todays %}
...add some content
{% endif %}
我试图在不创建自定义过滤器,上下文处理器或编辑视图的情况下执行此操作。我认为,问题在于timezone
。这可以工作到晚上晚些时候现在返回第二天,而不是当天。我研究了Django的日期和时区文档,但不确定如何使 now 返回的时区与模型字段的时区匹配,而无需创建上下文处理器或编辑视图。
答案 0 :(得分:0)
在项目settings.py 中尝试更改时区:
将您的时区放在下面,而不是我的Asia/Kolkata
。
TIME_ZONE = 'Asia/Kolkata'
评论后编辑 当启用对时区的支持时,Django将日期时间信息以UTC格式存储在数据库中,在内部使用时区感知日期时间对象,并将它们转换为模板和表单中最终用户的时区。
如果您的用户居住在多个时区,非常方便,并且您希望根据每个用户的挂钟显示日期时间信息。
默认情况下禁用时区支持。要启用它,请设置
USE_TZ = True
在您的设置文件中。