Django rest framework - error 'TokenAuthentication' object has no attribute 'has_permission

2,804 views
Skip to first unread message

Shekar Tippur

unread,
Nov 29, 2015, 1:11:25 AM11/29/15
to Django users


Hello,


'TokenAuthentication' object has no attribute 'has_permission.

Curl - curl -H "Authorization: Bearer $access_token" -H "Content-Type: application/json" -d '{"address": "afdsgsgsd", "another_address": "afedtgertretre"}'  -X POST http://localhost:8000/test

Here is my settings.py:


MIDDLEWARE_CLASSES = (
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'oauth2_provider.middleware.OAuth2TokenMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.security.SecurityMiddleware',
)

REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'oauth2_provider.ext.rest_framework.OAuth2Authentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',

)
}

and my urls.py

url(r'^test', Test.as_view() , name='Test'),

Error I am getting:

Request Method:POST
Request URL:http://localhost:8000/test
Django Version:1.8.6
Exception Type:AttributeError
Exception Value:
'TokenAuthentication' object has no attribute 'has_permission'
Exception Location:/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/rest_framework/views.py in check_permissions, line 318
Python Executable:/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4
Python Version:3.4.3
Python Path:
['/Users/ctippur/PycharmProjects/dropboat',
 '/Users/ctippur/PycharmProjects/dropboat',
 '/Library/Frameworks/Python.framework/Versions/3.4/lib/python34.zip',
 '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4',
 '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/plat-darwin',
 '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload',
 '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages']


Shekar Tippur

unread,
Nov 29, 2015, 10:07:39 PM11/29/15
to Django users
My bad. This was due to the permissions I had set on my class based view.

I took out the tokenauthentication and it now works well.

- Shekar
Reply all
Reply to author
Forward
0 new messages