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

Django 如何按编号显示月份名称?,django,django-templates,Django,Django Templates,我有一个表示月份的数字,我想将其替换为月份名称,日期筛选器不起作用: {{ monthnumber|date:"M" }} 我想放置两个链接-下个月和上个月,但我只有一个月的数量 如何操作?您需要一个自定义模板过滤器将数字转换为月份名称。如果使用标准库中的日历模块,则非常简单: import calendar @register.filter def month_name(month_number): return calendar.month_name[month_number]

我有一个表示月份的数字,我想将其替换为月份名称,日期筛选器不起作用:

{{ monthnumber|date:"M" }}
我想放置两个链接-下个月和上个月,但我只有一个月的数量


如何操作?

您需要一个自定义模板过滤器将数字转换为月份名称。如果使用标准库中的
日历
模块,则非常简单:

import calendar

@register.filter
def month_name(month_number):
    return calendar.month_name[month_number]
用法示例:
{{5 |月名}
将输出
May

嗯,它不是:

{{ monthnumber|date:"M" }}
你应该试试这个:

{{ datetimeobj|date:"M" }}
你应使用:

{{ datetimeobj|date:"F" }}

阅读

以防您不想格式化传递到Django模板中的日期对象(就像其他答案清楚显示的那样),而是希望只获取当前日期的月号; 以下是可用于执行此操作的内置标记:

{% now "n" %}
从文档中:

以下是内置日期标记,可用于
{%now[“”]%}


USE1242163的答案不需要自定义筛选器。USER 1242163的答案确实需要一个DATETIME对象,而不是针对这个问题的其他人的整数,检查这是否需要,考虑一下你想达到的目标。