使用 geoip2 查找时区
Using geoip2 for timezone look up
django.contrib.gis.geoip2
框架公开了高级地理定位 api。我想用它来查找用户时区,但查询没有 return 时区,尽管 maxmind documetion 说他们的数据库包括它们。我是不是遗漏了什么或如何做到这一点?
看来 time_zone
是 MaxMind GeoIP2 API.
中 geoip2.records.Location
class 上的一个字段
在 Django 包装器上,响应被定义 here,并且不会一起转发 time_zone
字段。
您可以在包装器中添加一行:
'time_zone': response.location.time_zone,
我相信他们会很感激拉取请求。 :)
下面的 class 覆盖 GeoIP2
class 以公开时区信息。可能有用,直到/如果它被添加到基础中 class(如果没有人先得到它,将尽快为它提高 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
django.contrib.gis.geoip2
框架公开了高级地理定位 api。我想用它来查找用户时区,但查询没有 return 时区,尽管 maxmind documetion 说他们的数据库包括它们。我是不是遗漏了什么或如何做到这一点?
看来 time_zone
是 MaxMind GeoIP2 API.
geoip2.records.Location
class 上的一个字段
在 Django 包装器上,响应被定义 here,并且不会一起转发 time_zone
字段。
您可以在包装器中添加一行:
'time_zone': response.location.time_zone,
我相信他们会很感激拉取请求。 :)
下面的 class 覆盖 GeoIP2
class 以公开时区信息。可能有用,直到/如果它被添加到基础中 class(如果没有人先得到它,将尽快为它提高 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