0
當我執行POST以獲取端點中應該接受POST請求的標記時,我收到了這個405。從AngularJS發佈到Django API以獲取JWT並返回405錯誤
我使用rest_framework和rest_framework_jwt
端點:
from django.conf.urls import url
from django.contrib import admin
from rest_framework_jwt.views import obtain_jwt_token
from rest_framework_jwt.views import refresh_jwt_token
from rest_framework_jwt.views import verify_jwt_token
urlpatterns = [
url(r'^$', IndexView.as_view(), name='index'),
url(r'^api/api-token-auth/', obtain_jwt_token),
url(r'^api/api-token-verify/', verify_jwt_token),
url(r'^api/api-token-refresh/', refresh_jwt_token),
]
AngularJS POST:
$scope.login = function() {
$http.post('api/api-token-auth/',
{
'username': $scope.username,
'password': $scope.password
})
.success(function (response) {
$scope.logged = true;
$scope.jwt = response.token;
console.log(response.token);
store.set('token', response.token);
},function (response) {
$scope.logged = false;
console.log(response);
});
}
在郵差
您可以發佈您views.py,serializers.py,models.py和settings.py(DRF的配置部分) ,並且您在客戶端收到的錯誤消息形成響應? HTTP 405錯誤意味着方法不允許,所以它可能是一個認證/授權問題集的默認設置或某處。無論哪種方式,獲取更多信息都有助於調試。 –
當請求使其成爲視圖但沒有方法處理程序時,您通常會在DRF中看到405。我會檢查以確保請求將轉到您認爲是通過在自定義視圖的URL conf中替換它的視圖。我發現您的網址模式最後缺少「$」,這可能會導致請求出現意外情況。 – jarcoal