обновить запрос API из вида django - PullRequest
0 голосов
/ 03 апреля 2020

Ребята, я пытаюсь сделать это в приложении django: моя идея проста: показать карту с маркером, который показывает положение МКС. Каждую секунду маркер должен двигаться, потому что данные меняются. Я знаю, что могу сделать это, вызвав API ISS в Javascript, но я хотел бы вызвать данные из моего представления с помощью модуля python render. Таким образом, я хотел бы обновить мой вид без обновления страницы. Мой взгляд:

def ISS(request):
    r =requests.get("https://api.wheretheiss.at/v1/satellites/25544").json()
    pos = {
            "latitude": r["latitude"],
            "longitude": r["longitude"]
            }

    return render(request, 'blog/pos_iss.html', locals())

и мой шаблон:

<div id="mapid"></div>
    <style type="text/css">
        #mapid {
            height: 500px;
        }
    </style>

<script type="text/javascript">



    const attribution = '&copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors';
    const TileUrl = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
    const tiles = L.tileLayer(TileUrl, { attribution });
    const lat = {{ pos|get:"latitude"|stringformat:"f" }}; //update here
    const long = {{ pos|get:"longitude"|stringformat:"f" }}; 
    const mymap = L.map('mapid').setView([lat, long], 4);
    tiles.addTo(mymap)


    function getISS() {

        var marker = L.marker([lat, long]).addTo(mymap);


    }


    getISS();
</script>

Я бы хотел, чтобы широта и долгота обновлялись каждую секунду. Я думаю, что-то можно сделать с Ajax, но я не знаю как.

Это мой первый запрос в стеке, не стесняйтесь дать мне совет, чтобы быть более понятным.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...