【问题标题】:Display tomorrow's date in Django template在 Django 模板中显示明天的日期
【发布时间】:2017-08-26 11:48:08
【问题描述】:

我想显示明天的日期。我使用的是通用的ListView

今天的日期很容易通过:

{% now "jS F Y H:i" %}

【问题讨论】:

  • 你试过tomorrow吗?
  • 我等了一整天,我想要的昨天和明天一样的日期今天出现了。 ;) 但说真的,我实际上在你问之前就试过了,而且没有内置的。

标签: python django date django-templates


【解决方案1】:

希望这个解决方案也会有所帮助。在您的模板标签中注册新模板

import datetime
register = template.Library()

@register.filter()
def addDays(days):
   newDate = datetime.date.today() + datetime.timedelta(days=days)
   return newDate

然后在模板中,您可以以不同的方式使用它,例如:

  • {{ 1|addDays }} - 明天
  • {{ 7|addDays }} - 下周
  • {{ 3|addDays|date:"Y-m-d" }} - 从现在起 3 天,日期格式为“Y-m-d”
  • {{ -1|addDays }} - 昨天......等等。

【讨论】:

    【解决方案2】:

    自定义模板标签可以解决问题。

    from django import template
    from datetime import datetime
    
    register = template.Library()
    
    @register.simple_tag
    def tomorrow(format):
        tomorrow = datetime.date.today() + datetime.timedelta(days=1)
        return tomorrow.strftime(format)
    

    记得在python中使用datetime模块后面的格式。

    然后在模板中

    {% tomorrow "%Y-%m-%d %H:%M" %}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      相关资源
      最近更新 更多