【发布时间】:2012-12-20 12:27:19
【问题描述】:
有没有可能在django中找到用户的位置。我的意思是有什么办法可以得到纬度和经度,然后是位置。
【问题讨论】:
有没有可能在django中找到用户的位置。我的意思是有什么办法可以得到纬度和经度,然后是位置。
【问题讨论】:
我不相信 Django 可以直接做到这一点,你可以用 Django 做的就是请求用户的 IP,并从外部使用免费的 web 服务,请求纬度和经度,然后是位置
例如...简单的python代码:
IP_URL = "http://api.hostip.info/?ip="
def get_coords(ip):
url = IP_URL + ip
respond = None
try:
respond = urlib2.urlopen(url).read()
execept URLError:
return
if respond:
#Parse de returned XML Here, you can use MiniDom
顺便说一句,如果用户在美国,api.hostip.info 工作得很好。外面不太好......但你明白了。
【讨论】:
要么自己获取一些地理 ip 表进行查找,要么使用 html5 中的位置库。
喜欢这里:http://html5demos.com/geo
这个演示实际上向您展示了一张地图,但 javascript 查询实际上为您提供了纬度和经度。
【讨论】:
IP API 是一个非常好的方法。比这里提到的其他人更准确。
【讨论】: