【问题标题】:Django/Python - showing months in words instead of numbersDjango/Python - 用文字而不是数字显示月份
【发布时间】:2013-02-28 23:42:27
【问题描述】:

我在用文字而不是数字显示月份时遇到了一点问题。 对,我的博客显示“13-03-2013”​​,但我希望它是“2013 年 3 月 13 日”

以下是我现在所做的事情: 我在模型中添加了日期:

pub_date = models.DateTimeField("Gepubliceerd", auto_now_add=True)

当我在博客模板中调用变量 pub_date 时,它​​以数字显示 (13-03-2013)。

有没有一种简单的方法可以将数字更改为实际月份名称? 我一直在考虑创建一个包含每个月份名称的元组,让它运行检查 pub_date 中的月份数,并据此使用元组中的正确月份。

但出于某种原因,我觉得必须有一个更简单的方法。但到目前为止,我还没有成功找到另一个解决方案。

希望一些很棒的人对此有经验!

提前谢谢!

【问题讨论】:

标签: python django


【解决方案1】:

您应该使用 Django 提供的模板过滤器date。请参阅documentation 了解如何使用它。

如果您想在这个地方使用这种日期格式,只需使用

{{ pub_date|date:'d-F-Y' }

如果这是您希望随处使用的默认格式,请使用 DATE_FORMATSHORT_DATE_FORMAT 设置。阅读文档了解更多信息。

【讨论】:

  • 谢谢!对于一些人来说,我之前所做的研究失败了。我可以将 {{ pub_date|date:'d-m-Y' }} 更改为 {{ pub_date|date:'d-M-Y' }}。大写的 M 使它显示单词而不是数字!无论如何,谢谢所有的帮助! ^^
【解决方案2】:

所以在这篇文章之后进行了更多研究(我应该在提出这个问题之前完成)我得出以下结论:

{{ pub_date|date:'d-m-Y' }}

是我如何称呼日期。在其中,您可以使用 Django 本身提供的日期格式。如果将“m”更改为大写“M”,它将以字母显示月份。但是这里解释了更多的可能性:

Read here all about the Django date format

再次抱歉,这么快就提问了

【讨论】:

    猜你喜欢
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    相关资源
    最近更新 更多