我已经按照安装教程设置了 django-rest-auth,但我无法使用登录 API 端点。当我发送包含正确信息的 POST 请求时,我收到 405 状态错误,响应为“不允许方法“GET””。
但是,当我导航到实际 URL 并从在线表单发布它时,它工作正常并返回一个令牌。
Help?!
邮递员示例:
https://i.stack.imgur.com/3ISSv.png https://i.stack.imgur.com/3ISSv.png
Axios 示例:
axios.post('http://----.com/api/accounts/login/', data: {'username': ---, 'password': ---})
.then(function (response) {console.log(response);})
.catch(function (response) {console.log(response);})
UPDATE:
这似乎是 Heroku 或 Gunicorn 的问题?该网站使用 Gunicorn 部署在 Heroku 上,但所有 POST 请求都作为 GET 请求接收。
对于任何遇到 POST 请求神秘地变成 GET 请求这种奇怪现象的人......
我在 Heroku 上使用 Django + DRF。这个问题太简单了,让我又想笑又想哭。
Heroku 将请求重定向到http://example.com http://example.com to http://www.example.com http://www.example.com,这个重定向涉及到一个GET请求。因此,POST 请求作为 GET 请求接收,没有任何最初存在的标头或正文。
所有这些工作和挫败感只是为了缺少“www”。希望这对将来的人有帮助!
https://stackoverflow.com/a/23688973/8407856 https://stackoverflow.com/a/23688973/8407856
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)