我有一个代表月份的数字,我想用月份名称替换它,日期过滤器不起作用:
{{ monthnumber|date:"M" }}
我想放置两个链接 - 下个月和上个月,但我只有一个月的数量。
怎么做?
答案 0 :(得分:26)
您需要自定义模板过滤器才能将数字转换为月份名称。如果您使用标准库中的calendar
模块,那么非常简单:
import calendar
@register.filter
def month_name(month_number):
return calendar.month_name[month_number]
用法示例:
{{ 5|month_name }}
将输出May
答案 1 :(得分:11)
答案 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