Написание функции JavaScript в моделях Django

Я хотел бы получить длинные переменные lat из моего models.py, который выглядит примерно так:

from django.db import models
from django.core.validators import MaxValueValidator, MinValueValidator

class Marker(models.Model):

    latitude = models.FloatField(
        validators=[MinValueValidator(-90), MaxValueValidator(90)],
)
    longitude = models.FloatField(
        validators=[MinValueValidator(-180), MaxValueValidator(180)],
)

И добавить их в строку myLatLng в JavaScript

function initMap() {
  const myLatLng = { lat: -25.363, lng: 131.044 };
  const map = new google.maps.Map(document.getElementById("map"), {
    zoom: 4,
    center: myLatLng,
  });

  new google.maps.Marker({
    position: myLatLng,
    map,
    title: "Hello World!",
  });
}

пример кода здесь:

https://developers.google.com/maps/documentation/javascript/examples/marker-simple

Я хотел бы создать маркер на странице администратора и отобразить его на карте

Лучшим подходом будет создание view.py и template.
Ссылка на представления на основе классов: https://docs.djangoproject.com/en/3.2/topics/class-based-views/.

вы можете передать данные в файл шаблона.
В шаблоне переменные выглядят следующим образом:

{{ object.latitude }}

{{ object.longitude }}

Таким образом, ваш Javascript будет выглядеть так:

function initMap() {
  const myLatLng = { lat: {{ object.latitude }}, lng: {{ object.longitude }} };
  const map = new google.maps.Map(document.getElementById("map"), {
    zoom: 4,
    center: myLatLng,
  });

  new google.maps.Marker({
    position: myLatLng,
    map,
    title: "Hello World!",
  });
}
Вернуться на верх