我使用带有 PointField 的类在数据库中存储坐标。
# models.py
from django.contrib.gis.db import models
class MapPoint(models.Model):
p = models.PointField()
def __str__(self):
return self.p
我使用 AJAX 从模板中获得的坐标。
# views.py
def mapper(request):
if request.method == "GET":
if request.is_ajax():
lat = float(request.GET.get('lat'))
lng = float(request.GET.get('lng'))
pnt = Point(lat, lng)
MapPoint.objects.create(p=pnt)
return render(request, 'map_in.html')
然后我想在其他模板中显示所有点
# views.py
def mapper_done(request):
query = MapPoint.objects.all().values()
out_list = list(query)
return render(request, 'map_out.html', {'out_list': out_list})
它返回:
{'id': 1, 'p': <Point object at 0x7f42c712b670>}
如何从 Point 获取坐标?我想要这样的东西:
ID: 1, lat: 42.326565 lng: 52.325874
如我所见,我需要遍历 querySet。但是如何呢?
抱歉英语不好:)
最佳答案
>>> pnt = Point(5, 23)
>>> [coord for coord in pnt]
[5.0, 23.0]
>>> pnt.coords
(5.0, 23.0)
添加你的变量 pnt = Point(你的点变量)
关于python - 从 Point Django 获取坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59433774/