Python';不同地区';错误的区域设置转换

Python';不同地区';错误的区域设置转换,python,django,Python,Django,试着用我的母语“立陶宛语”度过所有的月份。 守则的结果: conditions = [] for i in range(1, 13): with different_locale('lt_LT'): conditions.append(calendar.month_name[i]) 预期结果: ['sausis', 'vasaris', 'kovas', 'balandis', 'geguþë', 'birþelis', 'liepa', 'rugpjûtis', 'r

试着用我的母语“立陶宛语”度过所有的月份。 守则的结果:

conditions = []
for i in range(1, 13):
    with different_locale('lt_LT'):
        conditions.append(calendar.month_name[i])
预期结果:

['sausis', 'vasaris', 'kovas', 'balandis', 'geguþë', 'birþelis', 'liepa', 'rugpjûtis', 'rugsëjis', 'spalis', 'lapkritis', 'gruodis']
还尝试了“lt_lt.UTF-8”,但得到了以下结果:
“gegužÄ\x97”、“birželis”


知道为什么吗?

我建议使用django的上下文管理器。这是一份文件

我在本地尝试了以下脚本,它返回了所需的结果

['sausis', 'vasaris', 'kovas', 'balandis', 'gegužė', 'birželis', 'liepa', 'rugpjūtis', 'rugsėjis', 'spalis', 'lapkritis', 'gruodis']
输出:

import calendar
from django.utils import translation
from django.utils.translation import gettext as _
conditions = []
    for i in range(1, 13):
        with translation.override('lt_LT'):
            conditions.append(_(calendar.month_name[i]))
如果您打印它们,它会产生:

['sausis', 'vasaris', 'kovas', 'balandis', 'gegu\xc5\xbe\xc4\x97', 'bir\xc5\xbeelis', 'liepa', 'rugpj\xc5\xabtis', 'rugs\xc4\x97jis', 'spalis', 'lapkritis', 'gruodis']
sausis
vasaris
kovas
balandis
gegužė
birželis
liepa
rugpjūtis
rugsėjis
spalis
lapkritis
gruodis