Django:如何在视图中获取用户坐标(纬度,经度)?

Posted

技术标签:

【中文标题】Django:如何在视图中获取用户坐标(纬度,经度)?【英文标题】:Django: How to get a users coordinates (latitude, longitude) in a view? 【发布时间】:2020-01-13 03:53:28 【问题描述】:

在确定将重定向发送到哪里之前,我需要能够检查用户的位置。在 Django/Python 中是否有一种简单的方法可以做到这一点?

views.py

@login_required
def update(request):
    if users coords in range(....):
       form = UpdateForm(request.POST or None)
       if request.method == "POST":
           if form.is_valid():
               update = form.save(commit=False)
               update.user = request.user
               update.save()
               value = form.cleaned_data['update']
               return redirect('main-home')
       return render(request, "main/update.html", 'form': form)
   else:
       return render(request, "main/error.html")

【问题讨论】:

【参考方案1】:

试试

   from django.contrib.gis.utils import GeoIP

    g = GeoIP() 
    lat,lng = g.lat_lon(user_ip)

【讨论】:

你是如何获得 user_ip 的? @RobyB 使用 request.META.get("REMOTE_ADDR")

以上是关于Django:如何在视图中获取用户坐标(纬度,经度)?的主要内容,如果未能解决你的问题,请参考以下文章

通过纬度和经度从特定半径获取用户[重复]

如何在Android中获取某人的纬度和经度?

使用标记从谷歌地图获取纬度/经度坐标

反向地图投影:如何从投影坐标中获取纬度/经度坐标

如何使用 Sequelize 从 GEOMETRY('POINT') 获取纬度/经度坐标?

如何使用纬度和经度坐标从某个位置获取时区?