首页 > 解决方案 > 将经纬度从 javascript 或 html 传递到 Django 视图

问题描述

如何在不单击按钮的情况下将 lat 和 lng 传递给 Django 视图

pos = {lat: position.coords.latitude, lng: position.coords.longitude,};

我正在开发一个 Django 项目并尝试获取用户的当前位置。我有一个返回纬度和经度的 javascript 函数,但我不能将它们作为变量传递给 Django 来保存它们或对它们做任何事情。我正在使用谷歌地图 API。

标签: javascriptdjangogeolocationmaps

解决方案


**您可以使用 Django 视图参数将一些数据传递给您的视图:**

视图.py

def coordinates(request, lat, long):
    // You may try to convert the lat and long variables
    // in the good type, i suppose here they are float
    my_lat, my_long = Float(lat), Float(long)
    context = {'lat': my_lat, 'long': my_long}
    
    return render(request, 'coordinates.html', context)

网址.py

from app_name import views

path('coordinates/<str:lat>/<str:long>/', views.coordinates, name='coordinates')

注意:我在这里将 lat 和 long 作为字符串传递,但在视图中我使用 Float() 转换它们。这是 url 的一个例子:http://localhost:8000/coordinates/3.45/4.57

.html

<section>
    The latitude is : {{ lat }}
    <br>
    The longitude is : {{ long }}
</section>

推荐阅读