[Python] DRF: "detail": "Method \"GET\" not allowed."

Discussão em 'Python' iniciado por Stack, Junho 20, 2025.

  1. Stack

    Stack Membro Participativo

    I am trying to create a register and sign in API(TokenAuthentication) using DRF.

    This is my 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)


    This is 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()),
    ]


    When I run the server i get the following error.

    [​IMG]

    After filing the details the user gets added to the database but when I tr to log in error occurs.

    "Unable to log in with provided credentials."

    Not able to figure out the error. Please anyone help!

    Continue reading...

Compartilhe esta Página