将月份号转换为月份名称

时间:2018-03-23 14:59:49

标签: python django

下面的代码正确提取月份数,但我想检索月份名称而不是数字。我尝试在模板中使用Django日期过滤器,以及在views.py中使用Calendar utils,但这似乎无法正常工作

views.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 %}

4 个答案:

答案 0 :(得分:4)

您可以使用calendar.month_name根据its documentation,它是:

  

一个数组,表示当前语言环境中一年中的月份。

所以你只需要这样使用它:

calendar.month_name[month]

完整示例,en_US区域设置:

>>> import calendar
>>> month = 1
>>> calendar.month_name[month]
'January'

答案 1 :(得分:1)

您可以使用日历模块:

March

返回 let pageNumbers = TotalRecords/PageSize; for(i=0; i<pageNumbers; i++) { pageNumberArray[i] = i + 1; } this.setstate({pageNumber: pageNumberArray}) render() { this.state.data.map(function (data, index) { <Card> <CardItem> <Text>SHOWING DATA HERE {data.Title}</Text> </CardItem> </Card> } {/*SHOWING PAGE NUMBERS*/} {this.state.totalRecrods > 1 && <View> <FlatList height={50} style={{padding:10}} data={ this.state.pageNumber } renderItem={({item}) => <Text style={{backgroundColor:'rgb(191, 219,215)', margin:5,height:50}}>{item}</Text>} keyExtractor={(item, index) => index} horizontal={true} /> </View> } }

有关详细信息,请查看this question

答案 2 :(得分:1)

使用key = month number和value = month name创建一个字典,如:

dict = {"01": "January", "02": "February", etc...}

那么你可以像这样使用这个词:

print(dict[month])

答案 3 :(得分:0)

我使用views.py中的日期工具解决了它,如:

'usage_date': date(int(year), int(month), 1) 

然后在模板中,使用Django快捷方式呈现月份名称。

如果我希望月份名称根据所选语言进行更改,则此方法很有效。