Python: Обратный отсчет времени
У меня проблема с обратным отсчетом. Вот код, который я использую, и он просто показывает статический обратный отсчет, он будет меняться, только если я обновлю страницу. Я хочу, чтобы он был таким: 0d 0h 1m 3s, 0d 0h 1m 2s и так далее. Я пробовал использовать for i in range
, но кажется, что он принимает только целые числа? Но моя переменная - дата, поэтому она выдает ошибку. Как я могу сделать это возможным? Заранее спасибо!
views.py
def dateDiffInSeconds(date1, date2):
timedelta = date2 - date1
return timedelta.days * 24 * 3600 + timedelta.seconds
def daysHoursMinutesSecondsFromSeconds(seconds):
minutes, seconds = divmod(seconds, 60)
hours, minutes = divmod(minutes, 60)
days, hours = divmod(hours, 24)
return (days, hours, minutes, seconds)
def registration(request)
access = WebsiteSettings.objects.all()
now = datetime.datetime.today().replace(tzinfo=pytz.UTC)
for item in access:
countdown = "%dd %dh %dm %ds" % daysHoursMinutesSecondsFromSeconds(dateDiffInSeconds(now, item.date_open))
sleep(1)
return render(request, 'registration.html', {'countdown': countdown})