Je suis en train de créer un register
et sign in
API (TokenAuthentication) en utilisant DRF.DRF: "detail": "Méthode " GET "non autorisé."
Ceci est mon views.py
from rest_framework import status
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.permissions import AllowAny
from .serializers import AccountSerializer
from .models import Account
class AuthRegister(APIView):
"""
Register a new user.
"""
serializer_class = AccountSerializer
permission_classes = (AllowAny,)
def get(self, request, format=None):
allquery = Account.objects.all()
serializer = AccountSerializer(allquery, many=True)
return Response(serializer.data)
def post(self, request, format=None):
serializer = self.serializer_class(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data,
status=status.HTTP_201_CREATED)
return Response(serializer.errors,
status=status.HTTP_400_BAD_REQUEST)
class AuthLogin(APIView):
''' Manual implementation of login method '''
def get(self, request, format=None):
allquery = Account.objects.all()
serializer = AccountSerializer(allquery, many=True)
return Response(serializer.data)
def post(self, request, format=None):
data = request.data
email = data.get('email', None)
password = data.get('password', None)
account = authenticate(email=email, password=password)
# Generate token and add it to the response object
if account is not None:
login(request, account)
return Response({
'status': 'Successful',
'message': 'You have successfully been logged into your account.'
}, status=status.HTTP_200_OK)
return Response({
'status': 'Unauthorized',
'message': 'Username/password combination invalid.'
}, status=status.HTTP_401_UNAUTHORIZED)
C'est urls.py
from django.conf.urls import url
from .views import AuthRegister
from rest_framework_jwt.views import obtain_jwt_token, refresh_jwt_token, verify_jwt_token
urlpatterns = [
url(r'^login/', obtain_jwt_token),
url(r'^token-refresh/', refresh_jwt_token),
url(r'^token-verify/', verify_jwt_token),
url(r'^register/$', AuthRegister.as_view()),
]
Quand je lance le serveur je reçois l'erreur suivante.
Après avoir déposé les détails de l'utilisateur est ajouté à la base de données, mais quand je tr connecter erreur se produit.
"Unable to log in with provided credentials."
Pas en mesure de comprendre l'erreur. S'il vous plaît, n'importe qui aide!
Que devrais-je retourner dans 'get()'? –
données de votre sérialiseur etc. http://www.django-rest-framework.org/tutorial/3-class-based-views/#rewriting-our-api-using-class-based-views –
Qu'en est-il ' AuthLogin', j'ai implémenté le même 'get()' dedans cela donnerait l'erreur –