Gar*_*nzo 5 javascript django ajax
我正在尝试为网页添加一些基本的动态功能.如何在客户端使用JavaScript通过服务器端的django访问数据库信息?
我觉得在网页上调用django视图(或其他东西)的JavaScript函数应该很容易,而django视图会向JavaScript函数返回一个值.我不希望JavaScript本身连接到数据库,因为这似乎环绕django(对我来说,这似乎是不正确的).
此外,我希望能够在一个页面上通过JavaScript执行多个数据库请求.一个例子是用于创建发票的网页.发票的每个附加行都需要对数据库进行新查询.然后,根据添加到发票中的产品,需要额外的查询来确定产品的价格.我得到的是动态完成的一个页面内对数据库的多个查询.
基本上,我希望django进行数据库搜索并将信息传递给JavaScript.
作为客户端的Javascript无法直接访问您的数据库.它唯一能做的就是向Django发出请求.如果要在不重新加载页面的情况下执行该请求,则需要使用ajax调用.
首先,像往常一样准备你的视图而不用javascript.看看jquery并有效地请求ajax调用以获取相同的视图.请参阅http://api.jquery.com/jQuery.get/和http://api.jquery.com/jQuery.post/
请求成功后,使用get/post调用的成功回调填充容器.
下面是一个简单的示例Django应用程序使用jQuery AJAX调用:http://dl.dropbox.com/u/83342/ajaxapp.tar.gz
为您所要求的内容添加一些“标准”术语 - 听起来您正在寻找 Django 的 AJAX 功能。
首先,坏消息:没有任何专门针对此类功能的 Django 特性。
好消息:您正在谈论的 Django 视图将像其他视图一样接受 HTTP 请求。您需要做的是编写一些 JavaScript 代码来生成自己的 HTTP 请求并像浏览器一样使用视图的输出。
更好的消息:像 JQuery 这样的 JavaScript 库可以使编写可靠的客户端异步请求(您想要的)变得更加简单。事实上,我强烈建议使用像 JQuery 这样的库,而不是尝试编写自己的请求处理代码。在一个浏览器/机器上可靠地工作是一个简单的问题,但在当今所有广泛使用的浏览器上可靠地工作却非常困难且耗时。
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
6184 次 |
| 最近记录: |