3

django.contrib.gis.geoip2框架公开了一个高级地理定位 API。我想用它来查找用户时区,但查询不返回时区,尽管maxmind 文档说他们的数据库包括它们。我错过了什么或者怎么能做到这一点?

4

2 回答 2

3

这似乎是MaxMind GeoIP2 APItime_zone中类的一个字段。geoip2.records.Location

在 Django 包装器上,响应在此处定义,并且不转发该time_zone字段。

您可以在包装器中添加一行,即:

    'time_zone': response.location.time_zone,

我相信他们会很感激一个拉取请求。:)

于 2017-04-18T22:11:40.240 回答
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
于 2017-04-27T12:19:03.077 回答