[英]Converting month number to month name
下面的代码正确获取月份编号,但我想检索月份名称而不是编号。 我试过在模板中使用 Django 日期过滤器,以及 views.py 中的日历实用程序,但这似乎不起作用
视图.py
def ticket(request, month, year):
airline = Airline.objects.get(id=request.user.airline_id)
for ts in Timestamp.objects.filter(
airline=airline,
usage_on__year=year,
usage_on__month=month
):
pass
return TemplateResponse(request, 'club/al_history.html', {
'usage_month': month,
'usage_year': year,
'timestamp': timestamp,
})
al.html
{% extends 'base.html' %}
{% block content %}
<h3>{{ usage_month }}, {{usage_year}}</h3>
{% endblock %}
您可以使用calendar.month_name
。 根据其文档 ,它是:
代表当前语言环境中一年中月份的数组。
因此,您可以像这样简单地使用它:
calendar.month_name[month]
使用en_US
语言环境的完整示例:
>>> import calendar
>>> month = 1
>>> calendar.month_name[month]
'January'
使用键=月号和值=月名创建字典,例如:
dict = {"01": "January", "02": "February", etc...}
那么您可以像下面这样使用此字典:
print(dict[month])
我使用views.py中的date utils解决了它,如下所示:
'usage_date': date(int(year), int(month), 1)
然后在模板中,使用Django快捷方式呈现月份名称。
如果我希望根据所选语言更改月份名称,则此方法效果很好。
从这里的答案:
import datetime
monthinteger = 12
month = datetime.date(1900, monthinteger, 1).strftime('%B')
print(month)
会给“十二月”。 此外,将“%B”替换为“%b”将给出缩写形式,例如“Dec”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.