我有以下代码,试图从数据库中提取“counter”,向其中添加值(“+ 1”),保存新的“计数器”值,等待指定的时间,然后从头开始。这个相同的函数将通过Django上的视图调用,因此它也负责生成模板。
根据开发服务器,函数IS执行简单算术并将新值保存到DB。正如我可以看到每次刷新Django-Admin时更新的值。
但是,它无法加载模板。具体来说,页面会无限期地保持加载,而计算会发生。
很抱歉,如果代码不完美,我对所有事情都很陌生。 此外,请注意,我之前使用更简单的索引函数(生成简单的HTML)测试了整个生态系统,并且模板确实生成了。所以我假设问题必须来自这段代码。
from django.shortcuts import render, redirect
from django.http import HttpResponse
from django.template import Context, loader
from home.models import DeathNum
import datetime
import time
def index(request):
while True:
counter = DeathNum.objects.get(pk=1)
counter.deaths += 1
counter.save()
print('Added @ %s ' % datetime.datetime.utcnow())
time.sleep(35)
return render(request,
'home/basenum.html',
{'number_post': str(counter)}
)
{% extends "home/index.html" %}
{% block content %}
<br />
<div class="banner">
<div class="bannerNum">
<p div class="numberOf">
Number of deaths in Blank since 1999:
</p>
<br /><br /><br />
<p class="death1">
{{ number_post }}
</p>
</div>
</div>
{% endblock %}
答案 0 :(得分:-1)
你必须在视图函数和查询集中更改两件事。
def index(request,pk):
counter = DeathNum.objects.get(pk=pk)
"""your logic here""
return render(request, 'home/basenum.html, {'number_post': str(counter)})
&#13;
确保您的urlconf正确