Как передать долготу и широту в сценарий javascript из def django
Не могу понять, как заменить цифровые значения долготы и широты на динамические поля из postgres в javascript как получить долготу и широту конкретного места в этом скрипте?
<div id='map' style='width: 100%; height: 400px;'></div>
<script>
mapboxgl.accessToken = '{{ mapbox_access_token }}';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v10',
center: [20.890438, 52.256002],
// {{venue.lat}}, {{venue.long}} How to pass fields in a similar way as all other django fields
zoom: 9
});
var marker= new mapboxgl.Marker()
.setLngLat([20.890438, 52.256002])
// {{venue.lat}}, {{venue.long}}
.addTo(map)
</script>
Все функции рендеринга в django. Вот как отправить определенную долготу и широту для определенного события.
def show_venue(request, venue_id):
venue = Venue.objects.get(pk=venue_id)
venue_owner = User.objects.get(pk=venue.owner)
long = Venue.objects.get(pk=venue.long)
lat = Venue.objects.get(pk=venue.lat)
#addresses = Venue.objects.all()
mapbox_access_token = 'pk.eyJ1IjoicGF2ZWxzdHJ5a2hhciIsImEiOiJjbDI2ZmJmcTkyajBwM2lscDd6aDVwOG4xIn0.15o8i7eD1qwyQcnsx2iBmg'
return render(request,
'events/show_venue.html', {
'venue': venue,
'venue_owner':venue_owner,
#'addresses': addresses,
'mapbox_access_token': mapbox_access_token,
'lat':lat,
'long':long,
})
Буду очень благодарен за помощь
Если проблема в формате, можно попробовать следующее:
center: [{{venue.lat|floatformat:”5”}}, {{venue.long|floatformat:”5”}}]
В Django я бы написал так
{{venue.long}} {{venue.lat}}
а в JavaScript это должно выглядеть так
['{{venue.long}}','{{venue.lat}}']