Использую стандартные библиотеки для создания токенов.
Зарегестрировал выполнил миграции
'rest_framework.authtoken',
]
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
]
}
Есть две функции которые работают
from django.contrib.auth.models import User
from django.db import IntegrityError
from django.views.decorators.csrf import csrf_exempt
from rest_framework import generics, permissions
from .serizalizers import TodoSeralizer, TodoCompleteSeralizer
from todo.models import Todo
from django.utils import timezone
from django.http import JsonResponse
from rest_framework.authtoken.models import Token
from django.contrib.auth import authenticate
@csrf_exempt
def signup(request):
if request.method == 'POST':
try:
user = User.objects.create_user(request.POST['username'], password=request.POST['password'])
user.save()
token = Token.objects.create(user=user)
return JsonResponse({'token': str(token)}, status=201)
except IntegrityError:
return JsonResponse(({'error': 'That username has already been taken. Please choose a new username'}),
status=201)
@csrf_exempt
def login(request):
if request.method == 'POST':
user = authenticate(request, username= request.POST['username'], password = request.POST['password'])
if user is None:
return JsonResponse(({'error': 'Check username or password'}),
status=201)
else:
try:
token = Token.objects.get(user=user)
except:
token = Token.objects.create(user=user)
return JsonResponse({'token': str(token)}, status=200)
Регистрация токена проходит он отображается в админке супер пользователя
Но когда делаю запросы для того, чтоб получить данные
curl -X GET
127.0.0.1:8000/api/todos -H 'Authorization: Token b4b0a7da9fef962e06f5f2f8756349a5404579ed'
Не знаю, что делать. Данные и как обращаться брал из
Документации DRF
Выходит такое вот...
Прошу помощи..