使用ajax

时间:2018-07-17 14:48:35

标签: python jquery ajax django

原谅我愚蠢的问题,但是我真的不理解这种关系在Web开发中如何工作。

我有views.py:enter image description here

您会看到与api的连接,并且解析了我需要的信息。

然后在我的模板中,我有一个侦听器,该侦听器显示用户何时到达页面底部:

enter image description here

如您所见,在模板底部,我有一个ajax块,我再次连接到api 但是现在最重要的问题这是正确的方法吗?

我是否需要连接json并在ajax块中再次填充数组和元素?但是这一切都在views.py中完成。总的来说,始终从ajax调用def main(request)并自动附加所有数组和元素是否现实?我需要这样:

    $(window).scroll(function () {
if ($(window).scrollTop() + $(window).height() == $(document).height()) {
  $.ajax({
     url: "{% url 'main' %}",//my request which appends all my arrays automatically
     type: "GET",
     success: function () {

     },
     error: function () {
});

很抱歉遇到这样的问题,但我不明白这种捆绑包是如何工作的

关于已连接页面的计数器,我将在稍后处理,现在我需要信息以大致的方向移动

1 个答案:

答案 0 :(得分:-1)

这不是一个好方法。通常,Django视图与它无关。您应该直接从ajax调用URL并在页面本身的JS中解析答案。但是,如果有必要以某种方式处理来自该URL的响应,则应创建一个单独的视图来处理该响应并返回相应的JSON作为响应。

因此,第一个视图仅需要具有模板响应,并且页面上的ajax脚本应调用另一个视图并接管JSON。第二个视图将请求发送到该远程URL并进行处理,然后返回JSON作为响应。

对于其他视图,我建议使用Django Rest Framework,但是如果它是一个简单的功能,则不必这样做。