Django:请求页面时异步加载数据?

时间:2017-06-05 16:59:06

标签: python django python-3.x

我是Django的新手并完成了7部分教程,现在我正在尝试通过制作自己的应用程序来学习更多内容。

假设您正在制作交互式数据可视化应用程序,其中前端由d3(或您最喜欢的JS库)提供支持,并且您的数据来自服务器。由于您的数据很大,您首先必须将其加载到服务器内存中(可能来自二进制文件,或者您存储它)。但是,当用户看到网站的其余部分时,您不希望用户查看空白页面(可能会填写交互式数据的某些参数)。

当用户请求网页时,如果Django仍然呈现页面以及可能发送POST请求以更新某些服务器端信息,那么如何在服务器上加载和维护数据?

1 个答案:

答案 0 :(得分:4)

Django没有任何异步方法来处理你的问题。该平台是基于请求的,因此以后无法使用相同的请求发送信息。

这种情况下的解决方案是使用两个视图(或者可以处理多种格式的视图,如@SumNeuron提到的):

  1. 第一个视图会加载您稍后将加载数据的页面。在该页面上,完成XMLHttpRequest以请求数据。

  2. 此视图仅发送数据,它可以只是JSON中的数据,也可以是模板中的部分HTML。