我已按照安装教程设置了django-rest-auth,但我无法使用登录API端点。当我发送带有正确信息的POST请求时,响应“不允许使用方法“ GET””,我收到405状态错误。
但是,当我导航到实际URL并从在线表单发布它时,它可以正常工作并返回令牌。
帮助?!
邮递员示例:
https://i.imgur.com/574rERm.png
Axios示例:
axios.post('http://----.com/api/accounts/login/', data: {'username': ---, 'password': ---})
.then(function (response) {console.log(response);})
.catch(function (response) {console.log(response);})
更新:
这似乎是Heroku或Gunicorn的问题?该网站使用Gunicorn部署在Heroku上,但是所有POST请求都作为GET请求接收。
答案 0 :(得分:2)
对于遇到这种奇怪的POST请求现象的人来说,它神秘地变成了GET请求...
我在Heroku上使用Django + DRF。问题是如此简单,以至于我想同时大笑和哭泣。
Heroku将请求重定向到http://example.com到http://www.example.com,并且此重定向涉及GET请求。结果,POST请求将作为GET请求接收,而没有最初出现的任何标头或正文。
所有这些工作和挫折感仅是因为缺少“ www”。希望这对将来有帮助!