Есть ли способ автоматически обновлять веб-страницу с помощью Django?
Я пытаюсь создать таймер обратного отсчета на веб-странице с помощью Django. Я сделал необходимые вычисления времени в представлении для шаблона, передал их в качестве контекста шаблону и отобразил его, используя контекст. Однако таймер обновляется только при обновлении веб-страницы. Могу ли я как-то сделать так, чтобы таймер автоматически обновлялся?
Функция просмотра для шаблона:
def home(request):
#Time Calculations Performed Here
time_dict={'days': days, 'hours': hours, 'minutes': minutes, 'seconds': seconds}
context={'participants':participants, 'time':time_dict}
return render(request, 'base/home.html', context)
Раздел шаблона, в котором отображается таймер:
<hr>
<h3>Countdown Timer</h3>
<div><h5>
Days: {{time.days}}, Hours: {{time.hours}}, Minutes: {{time.minutes}}, Seconds: {{time.seconds}}
<h5></div>
<hr>
Вы можете использовать jQuery ajax здесь в вашем html примерно так:
views.py
from django.http import JsonResponse
def cal_time(request):
#Time Calculations Performed Here
time_dict={'days': days, 'hours': hours, 'minutes': minutes, 'seconds': seconds}
return JsonResponse(timde_dict)
home.html
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.min.js">
</script>
<script>
$(document).ready(function(){
$.ajax({url: "/cal_time/", success: function(result){
var content = "Days: "+result['days']+", Hours: "+result['hours']+", Minutes: "+result['minutes']+", Seconds: "+result['seconds'];
$("h5").text(content);
}});
});
</script>