{ "detail" : "Method " GET\ " not allowed." }



所以我已经提到的问题。我是初学者,我可能会犯一些愚蠢的错误。所以谦虚地请求你们解决我的错误并帮助我完成我的项目。提前谢谢大家。

setting.py

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticatedOrReadOnly',
    ),
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.BasicAuthentication',
    ),
}
JWT_AUTH = {
    'JWT_ALLOW_REFRESH': True,
    'JWT_EXPIRATION_DELTA': datetime.timedelta(seconds=3600),
}

这是 setting.py 文件,在这里我提到所需的文件

view.py

class LoginViewSet(viewsets.ViewSet):
    """ Check email and password and return auth token. """
    serializer_class = AuthTokenSerializer
    authentication_classes((SessionAuthentication, TokenAuthentication, BasicAuthentication))
    permission_classes((IsAuthenticated,))
    def create(self, request):
        """ Use ObtainAuthToken APIView to validate and create a token. """
        return ObtainAuthToken().post(request)

这是 view.py 文件。

urls.py

router.register('login', views.LoginViewSet, base_name="login")
urlpatterns = [
    path('', include(router.urls)),
    path('login/', ObtainAuthToken.as_view()),
    path(r'api-token-auth/', obtain_jwt_token),
    path(r'api-token-refresh/', refresh_jwt_token),
]

错误信息 错误

您必须在 DRF 中定义http_method_names并在 API 中指定方法访问权限。

class IndexViewAPI(generics.GenericAPIView):
    http_method_names = ['get', 'head']
    # some statements

相关内容

最新更新