0

我正在使用Django 2.xdjango-oauth-toolkit来生成访问令牌。

我编写了一个自定义令牌视图来对帐户运行一些检查,然后为用户生成访问令牌。如果自定义检查失败,我想用400状态码引发异常。

class CustomTokenView(TokenView):
    def create_token_response(self, request):
        login = request.POST.pop('username', None)

        username = get_user_model().objects.filter(
            email=login[0]
        ).last()

        if not username.verified:
            raise HttpResponse(content='User not verified', status=status.HTTP_400_BAD_REQUEST)

        request.POST._mutable = mutable

        return super(TokenView, self).create_token_response(request)

但这给出了错误

TypeError: exceptions must derive from BaseException

我也试过

from rest_framework.response import Response  
return Response('User not verified', status=status.HTTP_400_BAD_REQUEST)

但没有一个工作。

4

1 回答 1

1

你无法raise回应。响应也不例外。相反,您可以返回它或从 django-rest-framework 引发实际异常(此处描述的所有可用异常,选择最适合您的情况的异常。在我看来,它应该是您的自定义异常,从创建APIException)。

于 2019-01-26T13:46:38.500 回答