python - Django 1.10 - 每 X 秒使用数据库中的数据更新网页
问题描述
我需要每隔 X 秒使用数据库中的新信息更新我的网页。这是一个相对较小的应用程序,所以我认为schedule可以完成这项工作。
到目前为止我做了什么:
- 从数据库中获取最新值
- 传递给模板
- 遵循计划文档(或者至少我认为我做到了),但是当我打印到控制台作为测试时似乎什么都没有发生。
这是我的代码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
. 没有给出错误。
如何每秒钟打印最后一个oee
值的更新版本X
?
解决方案
你甚至不需要 Javascript。只需将以下meta refresh
标签添加到您的模板中:
<meta http-equiv="refresh" content="60">
推荐阅读
- python - VS Code:python 中的 site-packges 模块没有属性?
- kotlin - kotlin:将字符串与 Int 值连接起来
- android - 我想从 Authenticator 类中的 okhttp3.Response 生成自定义错误
- spring-amqp - 使用 Spring AMQP 将消息连同错误代码一起发布到 DLX
- javascript - 防止服务器端 Blazor 在 EditForm 中触发 onsubmit
- serena - 在不知道物品规格的情况下从 Serena Dimensions 获取物品
- java - HttpMessageNotWritableException - 无法在联接表中写入 JSON
- elasticsearch - Packetbeat 未指向写入索引
- android - Snackbar 不显示,每次打开应用程序都会崩溃
- ios - 使用部分可见的上一个和下一个项目滚动时将集合视图居中