3

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

谢谢

4

1 回答 1

4

像往常一样添加,然后在您的 AJAX POST 等上{% csrf_token %}添加一个预请求回调函数beforeSend :

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

如果使用像TastyPie这样的 API 框架,您还有其他身份验证选项。见这里:我如何使用tastepie登录django

于 2013-10-28T15:57:01.830 回答