我需要每X秒更新一次我的网页,使用数据库中的新信息。这是一个相对较小的应用程序,所以我认为时间表可以完成这项工作。
到目前为止我做了什么:
- 从数据库中获取最新值
- 传递到模板
- 遵循了时间表文档(或者至少我认为我做到了(,但是当我打印到控制台作为测试时似乎没有任何反应。
这是我views.py
的代码:
from __future__ import unicode_literals
from django.shortcuts import render
from django.http import HttpResponse
from lineoee.models import Lineoee3
import threading
import time
import schedule
def job():
last_oee1 = oee_list[-1]
print(last_oee1) #test print
def index(request):
context = {}
lines = Lineoee3.objects.all().values('oee')
enter code here
oee_list = list(Lineoee3.objects.all().values_list('oee',
flat=True))
schedule.every(10).seconds.do(job)
last_oee = oee_list[-1]
var = "Current OEE is: "
context = {'lines' : lines, 'var' : var, 'last_oee' : last_oee,}
return render(request, 'lineoee/index.html',context)
上面的代码运行良好,除了schedule part
.没有给出任何错误。
如何每X
秒打印一次最后一个oee
值的更新版本?
你甚至不需要Javascript。只需将以下meta refresh
标记添加到模板中:
<meta http-equiv="refresh" content="60">
是的,我会在您的模板中留下一个脚本lineoee/index.html
:
<script>
setTimeout(function reload() {location.reload()}, 2000)
</script>