Как я могу обновлять фотографию каждую секунду в моем шаблоне django?

Добавить

в package.json

  "engines": {
    "node": ">=10.0.0",
    "npm": ">=6.0.0"
  },

в файл .npmrc (рядом с package.json, тот же каталог)

engine-strict=true
0
задан user9716692 17 January 2019 в 05:51
поделиться

1 ответ

К сожалению, вы можете достичь этого только с помощью некоторого JavaScript и таких вещей, как setTimeout . Если это не будет большой список, вы можете отобразить его в массиве JavaScript, а затем использовать, например, setTimeout для переключения фото. Это не лучшая идея (я даже помню, как читал какую-то статью с некоторыми обоснованными замечаниями, почему она плохая, постараюсь ее найти), но сработал бы. Итак, вы можете сделать что-то вроде этого в конце тела в шаблоне:

<script>
    arrayOfUrls = [
        {% for url in urls}"{{ url }}",{% endfor %}
    ];
    function switchPhoto(urlArray, switchTo) {
        // if to go back to 0 if array finished
        document.getElementById("your-photo-id").src = urlArray[switchTo];
        setTimeout(switchPhoto, 1000, urlArray, switchTo + 1);
    }
    switchPhoto(arrayOfUrls, 0);
</script>

После обновления: если вы не хотите обновлять страницу, решение, вероятно, будет следующим: [ 1111]

views.py

from django.http import JsonResponse
def hello_world(request):
    return render(request, 'hello_world.html', {
        'current_time': str(datetime.now()),
    })

def hellow_world_ajax(request):
    return JsonResponse({'current_time': str(datetime.now())})

Добавить url(r'^hello_ajax/ в urls.py.

А в теле шаблона напишите JavaScript, используя, например: setInterval и либо vanilla JS fetch , либо некоторую библиотеку / инфраструктуру js, вставьте логику периодического обновления:

[112 ], hellow_world_ajax, name="hello_ajax"),
в urls.py.

А в теле шаблона напишите JavaScript, используя, например: setInterval и либо vanilla JS fetch , либо некоторую библиотеку / инфраструктуру js, вставьте логику периодического обновления:

[112 ]
0
ответ дан mfrackowiak 17 January 2019 в 05:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: