#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>