Django / Python - 用文字而不是数字显示数月

时间:2013-03-13 06:34:28

标签: python django

关于用文字显示月份而不是数字,我有一点问题。 我的博客正在显示“13-03-2013”​​,但我希望它是“13-March-2013”​​

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

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

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

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

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

希望有些有经验的人有这方面的经验!

提前谢谢!

2 个答案:

答案 0 :(得分:7)

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

如果您想在这一个地方使用此日期格式,请使用

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

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

答案 1 :(得分:0)

所以在这篇文章之后进行了一些更多的研究之后(我应该在提出这个问题之前完成),我来到了以下内容:

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

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

Read here all about the Django date format

再一次,抱歉快速提出问题