我正在尝试制作一个 Ajax 登录表单。我可以django.contrib.auth.authenticate
通过将来自 ajax 帖子的用户名和密码传递给用户来对其进行身份验证。但是我怎样才能让他们设置一个实际的会话和 csrf,以便在随后的调用中我可以在 request.user 中获取用户?
谢谢
像往常一样添加,然后在您的 AJAX POST 等上{% csrf_token %}
添加一个预请求回调函数beforeSend :
beforeSend: function (request) {
request.setRequestHeader("X-CSRFToken",
$('input[name="csrfmiddlewaretoken"]').val());
},
如果使用像TastyPie这样的 API 框架,您还有其他身份验证选项。见这里:我如何使用tastepie登录django