[Django 与 Ajax 实现网页动态数据显示]#学习笔记 #Web编程 #Django
[1] 创建后台读取数据函数,用于后台从数据库读取数据。在 views.py 文件内增加以下代码
from django.http import JsonResponse def data_fresh(request): context = {"data1": Test.objects.order_by("-time")[0].temp1, "data2": Test.objects.order_by("-time")[0].temp2} return JsonResponse(context)
data_fresh是函数名
Test是 Django 项目下的模型
order_by(“-time”)[0] 指按时间列倒序排列并取第一行数据
temp1是第一行数据里的 temp1 数据
如果没有数据库数据的话,直接写成固定的数据用来测试也是可以的
[2] 加载函数,让 HTML 页面能够访问到函数。在 urls.py 添加一下代码
urlpatterns = [
path('data_fresh/', views.data_fresh, name="data_fresh"),
]
<script>
$(document).ready(function(){
function refresh(){
$.getJSON("/data_fresh/", function (ret) {
$('#result').html(ret.data1);
$('#result2').html(ret.data2);
})
}
setInterval(refresh, 3000)
})
</script>