передача широты и долготы из javascript или html в представление Django

#javascript #django #geolocation #maps

Вопрос:

Как передать lat и lng в представление Django без нажатия кнопки

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

Я работаю над проектом Django и пытаюсь получить текущее местоположение пользователя. у меня есть функция javascript , которая возвращает широту и долготу, но я не могу передать их в Django в качестве переменных, чтобы сохранить их или что-либо с ними сделать. Я использую google maps api.

Комментарии:

1. Хм, не могли бы вы объяснить свой вопрос немного лучше , например, откуда вы получаете координаты? и, если возможно, добавьте еще несколько деталей, которые, по вашему мнению, помогут нам немного лучше понять вашу проблему

2. Спасибо за ответ, я работаю над проектом django и пытаюсь узнать текущее местоположение пользователя. у меня есть функция javascript , которая возвращает широту и долготу, но я не могу передать их в django в качестве переменных, чтобы сохранить их или что-либо с ними сделать. Я использую google maps api.

Ответ №1:

**Вы можете использовать параметр представления Django для передачи некоторых данных в ваши представления : **

views.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)
 

urls.py

 from app_name import views

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

NB : Я пропускаю lat и long здесь как строку, но в представлении я преобразую их с помощью Float().
И это пример URL-адреса: http://localhost:8000/coordinates/3.45/4.57

.html

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