django jquery $ .get to $ .post

在django我有

#template $.get("/places/{{ place.id }}/save/",{description : cadena } #view place.description = request.POST.getlist('description')[0] 

工作还可以。 但如果尝试更改为$.post

 #template $.post("/places/{{ place.id }}/save/",{description : cadena } #view print request.POST 

什么都没发生

解决了

我的问题,我没有在发送$.post的视图中添加了context_instance=RequestContext(request) ,因为这个crsf_token不存在。

有了这个改变现在工作

  $.post("/places/{{ place.id }}/save/",{description : cadena, csrfmiddlewaretoken: '{{ csrf_token }}'} 

并且必须{{ csrf_token }}而不是{% csrf_token %}
{% csrf_token %}创建

您可能遇到跨站点请求伪造(CSRF)问题 – Django拒绝POST,因为没有CSRF令牌。 对于Ajax,您需要进行一些特殊处理,或将视图标记为csrf_exempt 。 有关这方面的更多信息,请访问: https : //docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax