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