如何从Ajax()获取值到Django模板中?

2024-10-01 17:29:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Django模板,其中显示从数据库接收的多个值并将其传递给模板,如下所示:

在视图.py在

def test1(requests):
  requests.get...
  requests.get...
  requests.get...
  someQuery = "select id from table;"
  executeQ(someQuery)
  someQuery = "select id from table;"
  executeQ(someQuery)
  someQuery = "select id from table;"
  executeQ(someQuery)
  context = Data1, Data2, Data3
  return render_to_response('test1/index.html', context)

在模板/测试1中/索引.html在

^{pr2}$

现在,我想要的是通过Ajax更新第1行、第2行、第3行,而不是每次都重新调整页面。数据来自数据库。那么,我可以在哪里以及如何在Django中使用Ajax()来实现呢?在


Tags: djangofrom模板id数据库gethtmlcontext
1条回答
网友
1楼 · 发布于 2024-10-01 17:29:34

除了服务器端代码(Python)之外,还需要添加一些客户端代码(JavaScript)。在

一种常见的方法是使用jQuery^{}方法向服务器发送ajax请求,使用django应用程序处理此请求,将响应发送回客户端,然后操作DOM。在

所以你的客户端代码需要

  • 向服务器发送XMLHttpRequest(通常使用^{}
  • 如果 请求成功(通常在^{}成功回调中 功能)
  • 您可以通过迭代JSON响应中的数据来创建表行所需的标记,然后使用JavaScript/jQuery将前一行替换为新标记(如图here

你的django应用程序需要

  • 匹配URL dispatcher中的URL模式
  • 在关联视图中查询数据库
  • 将返回的数据序列化到JSON(可以使用pythonJSON模块)
  • 通过^{}this SO question讨论JSON和httpresponse)返回这个JSON

我还建议您阅读关于使用django和ajax的this excellent answer(包括jQuery^{}方法的示例)。在

值得一提的是,您不必在ajax步骤中使用jQuery-you can generate Ajax requests with pure JavaScript-但是它是一种流行的方法,而且非常用户友好。在

相关问题 更多 >

    热门问题