El marco django.contrib.gis.geoip2 expone una API de geolocalización de alto nivel. Quiero usarlo para buscar la zona horaria del usuario, pero las consultas no devuelven la zona horaria, aunque la documentación de maxmind dice que sus bases de datos las incluyen. ¿Me estoy perdiendo algo o cómo se podría hacer esto?
Parecería que time_zone es un campo en la clase geoip2.records.Location en la API MaxMind GeoIP2.
En el contenedor de Django, la respuesta se define aquí y no reenvía el campo time_zone .
Podría agregar una línea al envoltorio que sea simplemente:
'time_zone': response.location.time_zone,Estoy seguro de que apreciarían una solicitud de extracción. :)
La clase a continuación anula la clase GeoIP2 para exponer la información de la zona horaria. Podría ser útil hasta que / si se agrega en la clase base (intentaré generar un PR pronto si nadie llega primero)
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