如何按编号显示月份名称?

时间:2011-09-12 09:25:53

标签: django django-templates

我有一个代表月份的数字,我想用月份名称替换它,日期过滤器不起作用:

{{ monthnumber|date:"M" }}

我想放置两个链接 - 下个月和上个月,但我只有一个月的数量。

怎么做?

4 个答案:

答案 0 :(得分:26)

您需要自定义模板过滤器才能将数字转换为月份名称。如果您使用标准库中的calendar模块,那么非常简单:

import calendar

@register.filter
def month_name(month_number):
    return calendar.month_name[month_number]

用法示例: {{ 5|month_name }} 将输出May

答案 1 :(得分:11)

你应该使用:

{{ datetimeobj|date:"F" }}

阅读this

答案 2 :(得分:6)

嗯,不是:

{{ monthnumber|date:"M" }}

你应该试试这个:

{{ datetimeobj|date:"M" }}

答案 3 :(得分:0)

以防万一您不想格式化传递给Django模板的日期对象的格式(就像其他答案清楚显示的那样),而是您宁愿简单地获取当前日期的月份号; 这是您可以用来执行此操作的内置标记:

{% now "n" %}

从文档中:https://docs.djangoproject.com/en/2.1/ref/templates/builtins/#now

以下是您可以与{% now [""] %}一起使用的内置日期标签

https://docs.djangoproject.com/en/2.1/ref/templates/builtins/#date