Authentication with Django REST Framework returns 405

I successfully installed TokenAuthenticationand generated tokens that were successfully received by the user after authentication. Unfortunately, I cannot send a token to the API without errors ( DRF TokenAuthentication ). The icon is hard coded for testing and im works with djangos runserver. I see from the answer that only POSTand are allowed OPTIONS, but I can curlwithout problems:

curl -X GET http://127.0.0.1:8000/api-token-auth -H 'Authorization: Token a83ff8dabb7fc7b800d381fd3994dfe2051cc0c2'

Implementation

Controller / Login.js:

reSignInCommand: function (aToken) {
    var me = this;

 Ext.Ajax.request({
    url: 'http://127.0.0.1:8000/api-token-auth/',
    method: 'GET',
    disableCaching: false,
    timeout: 10000, 
    useDefaultXhrHeader: false,
    headers: {
        'Authorization' : 'Token a83ff8dabb7fc7b800d381fd3994dfe2051cc0c2'
    },
    success: function(response) {
        console.log("success");
    },
    failure: function(response) {
        console.log("failure");
    }
});

api / urls.py:

from django.conf.urls import patterns, url, include

urlpatterns += patterns('',
    url(r'^api-token-auth/', 'rest_framework.authtoken.views.obtain_auth_token'),
)

Debug:

Request URL:http://127.0.0.1:8000/api-token-auth/
Request Method:GET
Status Code:405 METHOD NOT ALLOWED

Request headers:
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:da,zh;q=0.8,de;q=0.6,en;q=0.4
Authorization:Token a83ff8dabb7fc7b800d381fd3994dfe2051cc0c2
Cache-Control:no-cache
Connection:keep-alive
Host:127.0.0.1:8000
Origin:http://127.0.0.1
Pragma:no-cache
Referer:http://127.0.0.1/sencha/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36

Response headers:
HTTP/1.0 405 METHOD NOT ALLOWED
Date: Fri, 20 Dec 2013 10:19:50 GMT
Server: WSGIServer/0.1 Python/2.7.5
Vary: Accept, Cookie
Access-Control-Allow-Origin: *
Content-Type: application/json
X-Frame-Options: SAMEORIGIN
Allow: POST, OPTIONS
+4
source share
1 answer

curl , AJAX. curl 301 405, URL ( ).

, POST /api-token-auth/ URL, GET.

Django REST API- : use-case:

  • POST username password /api-token-auth/ -.
  • URL-, , HTTP- . , , - URL-, .

, , , .

, . , HTTP-, , :

  • request.user Django.
  • request.auth rest_framework.authtoken.models.BasicToken.
+4

All Articles