django.contrib.gis.geoip2
框架暴露了一个高级地理位置api。我想用它来查找用户时区,但查询不会返回时区,尽管maxmind documetion表示他们的数据库包含它们。我错过了什么或者怎么可能这样做?
答案 0 :(得分:3)
time_zone
似乎是MaxMind GeoIP2 API中geoip2.records.Location
类的字段。
在Django包装器上,响应定义为here,并且不会转发time_zone
字段。
您可以在包装器中添加一行简单的行:
'time_zone': response.location.time_zone,
我确定他们会欣赏拉取请求。 :)
答案 1 :(得分:1)
下面的类超越GeoIP2
类以显示时区信息。可能有用,直到/如果它被添加到基类中(如果没有人首先尝试,它会尽快为它提高PR)
from django.contrib.gis.geoip2 import GeoIP2
class GeoipWithTimezone(GeoIP2):
def timezone(self, query):
enc_query = self._check_query(query, city=True)
return self._city.city(enc_query).location.time_zone