Django - Timeuntil 标记输出缩写

Posted

技术标签:

【中文标题】Django - Timeuntil 标记输出缩写【英文标题】:Django - Timeuntil Tag output abbreviation 【发布时间】:2014-06-13 11:32:28 【问题描述】:

我正在使用 django timeuntil 模板标签,输出类似于8 hours, 15 minutes。有谁知道我怎样才能使输出像8 Hr, 15 Min

【问题讨论】:

【参考方案1】:

看看timesince from django source code:

chunks = (
    (60 * 60 * 24 * 365, ungettext_lazy('%d year', '%d years')),
    (60 * 60 * 24 * 30, ungettext_lazy('%d month', '%d months')),
    (60 * 60 * 24 * 7, ungettext_lazy('%d week', '%d weeks')),
    (60 * 60 * 24, ungettext_lazy('%d day', '%d days')),
    (60 * 60, ungettext_lazy('%d hour', '%d hours')),
    (60, ungettext_lazy('%d minute', '%d minutes'))
)

更改它的快速简便方法是wrote your custom template filter 将hours 更改为Hr

def my_time_abbr(value): 
    return value.replace( 'hours', 'Hr').replace('minutes','Min')

在您的模板中:

 somedata | timeuntil | my_time_abbr 

如果您在国际化模式下工作,您还可以从头开始重写 timesince 过滤器(从 django timesince 复制粘贴)。

【讨论】:

很好的答案,非常感谢!

以上是关于Django - Timeuntil 标记输出缩写的主要内容,如果未能解决你的问题,请参考以下文章

Django-summernote 工作正常,但显示带有 HTML 标记的文本

运行 Django 测试时如何查看标准输出?

运行 Django 测试时如何查看标准输出?

前端常见英文缩写含义

学习4 对缩写进行标记

Django进阶篇