Django:通过Ajax设置会话

时间:2013-10-28 15:49:44

标签: ajax django

我正在尝试制作一个Ajax登录表单。我可以通过传递来自ajax帖子的用户名和密码,让用户通过django.contrib.auth.authenticate进行身份验证。但是我怎样才能设置一个实际的会话和csrf,以便在后续的调用中我可以在request.user中获取用户?

由于

1 个答案:

答案 0 :(得分:4)

正常添加{% csrf_token %}然后在您的AJAX POST等上添加预请求回调函数beforeSend

  beforeSend: function (request) {
   request.setRequestHeader("X-CSRFToken",
       $('input[name="csrfmiddlewaretoken"]').val());
   },

如果使用像TastyPie这样的API框架,您还有其他身份验证选项。见这里:How can I login to django using tastypie