如何在 Django 模板中获取日期格式

7

我是django的新手。在我的模板中,我需要当前日期作为日期格式,而以下代码返回字符串:

<p>{% now "Y-m-d" as date %}</p>

我希望将日期格式化为2018-12-17的日期格式而非字符串,有什么方法可以实现吗?

谢谢。


如果您没有从视图中发送日期,可以使用moment.js以所需格式获取日期。 - bhatt ravii
我不想添加额外的库,将时间发送到视图是我目前的方法,但这不是我们首选的方式。谢谢。 - Hamed Salimian
为了将当前日期/时间作为变量 (datedatetime) 在模板中使用(而不是像这个答案中所示的字符串 str),您可以在我之前写的 这个答案 中找到几个选项。 - Ralf
1个回答

15

你可以使用Django内置的过滤器

{{ value|date:"D d M Y" }}

在这里查找更多信息


我有一个自定义过滤器,只接受日期格式。你能更具体地告诉我如何使用它吗?我已经阅读了你提供的链接,但我不知道如何操作。假设我的过滤器名称为CustomDateFilter,我想要的是{{ date|CustomDateFilter }},我需要date以日期格式呈现,而'now'仅返回字符串。 - Hamed Salimian
在名为CustomDateFilter的模板标签中,添加一个名为value的参数以接收日期值并将其更改为所需格式。例如,def lower(value): return value.lower() - Vijesh Venugopal
是的,我相信那是唯一的方法。谢谢 @VijeshVenugopal - Hamed Salimian
只是为了给一个已经很好的答案添加更多信息:如果你需要在模板中将当前日期/时间作为变量(而不是内置过滤器和标签生成的str),你可以在我之前写的这个答案中找到一些选项。 - Ralf
当我在模板中添加{{ value|date:"D d M Y" }}时,什么也没有显示出来。我需要先加载什么吗? - Alex Winkler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接