我正在使用App引擎,我正在尝试从请求中获取时区。 但是,当在本地主机上时,它似乎总是返回'ZZ'作为国家代码,而不是pytz库中的国家。
此代码:
country = self.request.headers['X-Appengine-Country']
logging.info(country)
tz = pytz.country_timezones(country)
产生此错误:
return self.data[key.upper()]
KeyError: 'ZZ'
非常感谢你的帮助
答案 0 :(得分:7)
'ZZ'通常用于表示“未知或未指定的国家/地区”
还有两个字母代码的数字版本,计算为1070 + 30a + b,其中a和b是由A = 1,B = 2等转换的代码的两个字母。所以AA = 1101 ,AB = 1102,BA = 1131,ZZ = 1876。
答案 1 :(得分:4)
我建议您对请求标头名称使用正确的大小写。对于例如X-AppEngine-Country
但是,在本地开发环境中 - 我认为不会支持位置功能,即您将无法获得正确的值。这些应该仅适用于部署环境。该位置最有可能由Google网络内部的Google服务提供,而不会在本地开发环境中公开。
尝试将代码部署到实时环境并检查值。