我对 Django(和 Web 开发)还很陌生,发现自己正在为这个问题苦苦挣扎:我使用 javascript 构建了一个简单的计时器,现在希望在模型中有一个变量,该变量在计时器启动时更新。我迷失在如何做到这一点。
这是我的代码:
主页.html:
<button onclick='activatecount()' value='countdown'>Start Timer</button>
<p id='countdown'></p>
<p id='endofcount'></p>
<script src='{{ STATIC_URL }}timerapp.js'></script>
</body>
</html>
然后是javascript。屏幕上有一个按钮,当用户单击该按钮时,计时器开始倒计时。
var myTime = setInterval(displayTime, 1000);//Calls the function displayTime once every second
function subtractSeconds(){
seconds--;
document.getElementById('countdown').innerHTML = seconds; }
var interval;
var minutes = 2;
var seconds = 10;
function activatecount(){
countdown('countdown');
}
function countdown(element) {
interval = setInterval(function() {
var el = document.getElementById(element);
if(seconds == 0) {
if(minutes == 0) {
el.innerHTML = "countdown's over!";
clearInterval(interval);
return;
} else {
minutes--;
seconds = 60;
}
}
if(minutes > 0) {
var minute_text = minutes + (minutes > 1 ? ' minutes' : ' minute');
} else {
var minute_text = '';
}
var second_text = seconds > 1 ? 'seconds' : 'second';
el.innerHTML = minute_text + ' ' + seconds + ' ' + second_text + ' remaining';
seconds--;
}, 1000);
}
我的意见.py:
def home(request):
return render_to_response('home.html', context_instance=RequestContext(request))
最后是我的models.py:
class User(models.Model):
username = models.CharField(max_length=10)
email = models.EmailField(max_length=254)
first_name = models.CharField(max_length = 20)
last_name = models.CharField(max_length = 20)
join_date = models.DateField().auto_now_add
block_count = models.IntegerField()
def __unicode__(self):
return self.username
我想要的只是当计时器到时 block_count 加一。(我稍后会添加更多功能,但我完全迷失了这个看似微不足道的事情。)我能找到的只是关于如何使用表单和 POST 将数据提交到数据库的讨论,但我在这里没有使用表单.
应该在这里使用 POST 吗?如果是这样,怎么做?