Django/Python - 以文字而非数字显示月份
我遇到一个小问题,就是想把月份用文字显示,而不是用数字。现在我的博客显示的是“13-03-2013”,但我想要的格式是“13-March-2013”。
这是我目前为止所做的事情:我在我的模型里添加了日期:
pub_date = models.DateTimeField("Gepubliceerd", auto_now_add=True)
当我在博客模板中调用变量pub_date时,它显示的是数字格式(13-03-2013)。
有没有简单的方法可以把数字转换成实际的月份名称?我在考虑创建一个包含每个月名称的元组,然后检查pub_date中的月份数字,根据这个数字来使用元组中的正确月份。
但我总觉得应该有更简单的方法。不过到目前为止,我还没有找到其他的解决方案。
希望有一些厉害的人能分享他们的经验!
提前谢谢大家!
2 个回答
1
经过进一步的研究,我发现了一些新的信息(其实我应该在提问之前就先做这些研究)。
{{ pub_date|date:'d-m-Y' }}
这是我调用日期的方式。在这个过程中,你可以使用Django自带的日期格式进行调整。如果你把'm'改成大写的'M',那么它就会用字母显示月份。不过,还有很多其他的可能性,可以在这里找到详细的解释:
再次为我提问太快而感到抱歉。
8
你应该使用Django提供的模板过滤器date
。想知道怎么用的话,可以查看这份文档。
如果你只想在这个地方使用这个日期格式,可以直接使用
{{ pub_date|date:'d-F-Y' }
如果你想在所有地方都使用这个默认格式,可以设置DATE_FORMAT
和SHORT_DATE_FORMAT
。想了解更多信息,可以看看文档。