dongliang1983
4/28/2019 - 9:16 AM

[Django 与 Ajax 实现网页动态数据显示]#学习笔记 #Web编程 #Django

[Django 与 Ajax 实现网页动态数据显示]#学习笔记 #Web编程 #Django

[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"),
]
  • [3] 前端使用 jQuery 访问后台函数,要实现数据动态显示,还需要增加定时程序,在 HTML 页面插入以下代码
<script>
    $(document).ready(function(){
        function refresh(){
            $.getJSON("/data_fresh/", function (ret) {
                $('#result').html(ret.data1);
                $('#result2').html(ret.data2);
            })
        }
        setInterval(refresh, 3000)
    })
</script>