【问题标题】:Specify a default rendering method for a certain type in Jinja2为Jinja2中的某种类型指定默认的渲染方式
【发布时间】:2022-11-13 11:10:13
【问题描述】:

在 Jinja2 中,如何为某种类型指定默认渲染方法?

特别是datetime?

从 Django 渲染日期时间值时,我发现它很烦人。它们看起来像2022-11-04T00:00:00.987654+00:00。 T 是什么意思,为什么有一个加号 + 后面跟着 00:00。我一辈子都住在小岛上的用户不会理解。 除了格式问题,Django 还提供了 UTC 时间对象。始终为 UTC,尽管其设置模块中的 TIME_ZONE 已指定为不同的值。

我知道我可以使用像me.time_of_death|format_datetime 这样的过滤器。但是,将它放在每个日期时间字段之后对我来说听起来很疯狂,而且我不想在午夜被唤醒,因为日期时间没有在前一天发布该过滤器。

是否可以将其设为默认值?

【问题讨论】:

    标签: python django jinja2


    【解决方案1】:

    您可以使用日期解析:

    from django.utils import dateparse
    

    然后,在您将时间传递给模板之前,您可以使用以下内容将其转换为其他岛民更容易理解的内容:

    readable_time = dateparse.parse_datetime(CONFUSING_TIME_STRING)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-02
      • 2014-10-27
      • 2019-09-27
      • 2013-11-13
      相关资源
      最近更新 更多