Python:Django:我如何找到用户纬度和经度,以便我可以显示用户位置?

时间:2012-12-20 12:27:19

标签: python django

是否有可能在django中找到用户的位置。我的意思是有任何方法可以获得纬度和经度,然后是位置。

3 个答案:

答案 0 :(得分:2)

我不相信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可以正常运行。外面不太好......但是你明白了。

答案 1 :(得分:1)

您可以自己查找一些地理IP表,也可以使用html5中的位置库。

像这里:http://html5demos.com/geo

此演示实际上显示了一张地图,但javascript查询实际上为您提供了纬度和经度。

答案 2 :(得分:0)

IP API是一种非常好的方法。比这里提到的其他人更准确。 enter image description here