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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown [Django与Ajax实现网页动态数据显示]#学习笔记#Web编程#Django相关的知识,希望对你有一定的参考价值。

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

## **学习笔记**

- [1] 创建后台读取数据函数,用于后台从数据库读取数据。在 views.py 文件内增加以下代码

  > ```python
  > 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 添加一下代码

```python
urlpatterns = [
    path('data_fresh/', views.data_fresh, name="data_fresh"),
]
```

- [3] 前端使用 jQuery 访问后台函数,要实现数据动态显示,还需要增加定时程序,在 HTML 页面插入以下代码

```js
<script>
    $(document).ready(function(){
        function refresh(){
            $.getJSON("/data_fresh/", function (ret) {
                $('#result').html(ret.data1);
                $('#result2').html(ret.data2);
            })
        }
        setInterval(refresh, 3000)
    })
</script>
```

以上是关于markdown [Django与Ajax实现网页动态数据显示]#学习笔记#Web编程#Django的主要内容,如果未能解决你的问题,请参考以下文章

Django Ajax的使用

使用Ajax与Django通信实例

Django的日常-AJAX

Django富文本编辑和ajax提交评论

Django处理ajax请求

Django基础之Ajax简介