【问题标题】:Django view seems to be called twiceDjango视图似乎被调用了两次
【发布时间】:2014-02-20 02:35:57
【问题描述】:

我点击了 urls.py 中定义为

的 url
url(r'getplacesnearbytest/$', api.getPlacesNearby, name='getPlacesNearby'),

来自带有帖子参数的 jQuery 帖子:

lat=51.542623&lon=-0.089851

还有一个 crsf 令牌和一个未使用的参数(在 js 中使用)。在视图方法 getPlacesNearby() 中,我打印了 post 对象和单词“end”。

print request.POST
print 'end'

结果如下,好像被调用了两次

<QueryDict: {u'dest': [u'/smcore/geteventsnearbytest/'], u'lat': [u'51.542623'], u'csrfmiddlewaretoken': [u'Xc65nWy67mNxvshpmK4yTMdRIm5EaYCK'], u'lon': [u'-0.089851']}>
end
[28/Jan/2014 16:38:23] "POST /smcore/geteventsnearbytest/ HTTP/1.1" 500 12248
<QueryDict: {}>    
end
[28/Jan/2014 16:38:23] "GET /smcore/geteventsnearbytest/ HTTP/1.1" 500 64635

客户端代码:

$('.testApisPost').on('click', function() {

  var dataObj = {
    'csrfmiddlewaretoken': $('input[name=csrfmiddlewaretoken]').val()
  }

  $.each($(this).data(), function(i, v) {
    dataObj[i] = v
  });

  $.post($(this).data("dest"), dataObj, function(data){
    console.log(data)
  })
});

html:

<div class="testApisPost startLink areaBlock" data-dest="{% url 'getPlacesNearby' %}" data-lat="51.542623" data-lon="-0.089851" data-radius="5" data-types="food">
    This gets clicked
</div>

在我调用的方法结束时

return HttpResponse(res, content_type="application/json")

发回数据。关于为什么会发生重复的任何想法?

【问题讨论】:

  • 重复出现在您的 Javascript 代码中。请同时发布您的客户端代码。
  • 添加了js和html
  • 还在为此苦苦挣扎,有什么想法吗?

标签: jquery python django django-templates django-views


【解决方案1】:

我找到了为什么视图被调用两次,有一个 js 动作与来自项目早期版本的 startLink 类相关联。

感谢所有帮助过的人

【讨论】:

  • 您能详细说明一下吗?我有同样的问题(虽然我不使用 JS - 但它仍然与 HTML/CSS 方面有关)
  • 老实说,我完全不知道这有什么用,3 年多没碰过它
猜你喜欢
  • 2014-01-08
  • 2018-01-13
  • 2013-07-28
  • 1970-01-01
  • 1970-01-01
  • 2017-06-11
  • 2016-10-20
  • 2019-07-29
  • 1970-01-01
相关资源
最近更新 更多