【发布时间】:2018-01-04 02:49:04
【问题描述】:
我正在从 Django 1.4.3 升级到 Django 11.3。
我有一个包含 2 种不同形式的网页。两个表单都加载了 {%csrf_token%}。流程是 - 用户使用表单 1 ( ajax ) 登录,然后显示第二个表单。用户以第二种形式输入数据并使用 ajax 提交。现在,如果我这样做了,这个请求就会失败(在 Django 1.4.3 下工作)-
csrfmiddlewaretoken = $form.find('input[name="csrfmiddlewaretoken"]').val();
现在,为了解决这个问题,我从 cookie 中获取 csrftoken 值并将 cookie 作为 ajax 的一部分发送,它可以工作 -
csrfmiddlewaretoken = _getHelperCookie('csrftoken');
我很困惑为什么让客户端 cookie 有效?登录后,Django调用rotate_token;这实际上会影响什么?
【问题讨论】:
标签: django django-csrf