django - 如何通过浏览器 IP 获取位置
Posted
技术标签:
【中文标题】django - 如何通过浏览器 IP 获取位置【英文标题】:django - How to get location through browser IP 【发布时间】:2017-10-03 15:11:59 【问题描述】:我有一个非常基本的 django 应用来获取天气。
我需要获取用户的位置以向他们显示他们当前位置的天气。为此,我正在使用 GeoIP。
但是出现了一个问题,即 GeoIP 没有所有 IP 地址的信息。它为这些 IP 地址返回 NoneType。
我想知道是否有任何其他精确的方式可以让我了解用户当前的纬度和经度,比如浏览器 API?它不应该像 GeoIP 那样错过任何用户的位置。
【问题讨论】:
【参考方案1】:首先,您无法通过 IP 获取用户的确切位置。
某些 ISP 的 IP 与用户位置无关,而是与他们的 IDC 位置相关。
因此,如果您“真的”想要客户的位置,您应该使用客户端(浏览器)的 GeoLocation API。 (前端)
你要做的是……
-
通过 Geolocation API 获取用户位置
将用户位置发布到您的服务器
返回基于位置的信息
使用信息更新您的网页 (DOM)。
【讨论】:
以上是关于django - 如何通过浏览器 IP 获取位置的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Google API 通过独立的 Java 类获取 IP 地址的位置?
我如何通过 ip 为匿名用户计算 django 中的视频观看次数