我已经使用Javascript为倒数计时器编写了代码,并且为了使其动态化,我给了管理员一个选项,可以相应地更改时间。 javascript在MM:SS中接受输入,我在model.py中使用了以下数据类型,并且系统以HH:MM格式接受它,因此我不能将时间设置为超过24分钟(显示的值来自00:00至23:00。是否有任何数据类型或解析时间格式的方法。我的应用程序需要MM:SS中的计时器,并且不需要几个小时。
model.py
class PhysicalPostPage(AbstractForm):
intro = RichTextField(blank=True)
strength = RichTextField(blank=True)
agility = RichTextField(blank=True)
flexibility = RichTextField(blank=True)
points_for_this_activity = models.IntegerField(blank=True, default=0)
timer_for_this_activity = models.TimeField(blank=True, default=datetime.time(00, 11))
thank_you_text = RichTextField(blank=True)
出于测试目的,我将计时器设置为11秒。
javascript
function doCount(){
var timer2 = "{{ page.timer_for_this_activity|safe }}";
var interval = setInterval(function() {
var timer = timer2.split(':');
//by parsing integer, I avoid all extra string processing
var minutes = parseInt(timer[0], 10);
var seconds = parseInt(timer[1], 10);
--seconds;
minutes = (seconds < 0) ? --minutes : minutes;
seconds = (seconds < 0) ? 59 : seconds;
seconds = (seconds < 10) ? '0' + seconds : seconds;
//minutes = (minutes < 10) ? minutes : minutes;
$('#countdown').html(minutes + ':' + seconds);
if (minutes < 0)
clearInterval(interval);
//check if both minutes and seconds are 0
if ((seconds <= 0) && (minutes <= 0)){
clearInterval(interval);
$('#done').show();
$('#countdown').hide();
}
timer2 = minutes + ':' + seconds;
}, 1000);
}
答案 0 :(得分:1)
我通过使用CharField数据类型解决了此问题。因为我传递了一个字符串,它解决了我的问题。