在Django oauth工具箱中引发异常

时间:2019-01-26 12:18:52

标签: django django-oauth

我正在使用 Django 2.x django-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)

但是没有一个工作。

1 个答案:

答案 0 :(得分:0)

您不能CREATE TABLE a (a_id integer, PRIMARY KEY (a_id)); CREATE TABLE t1 (t1_id integer, a_id integer, PRIMARY KEY (t1_id), FOREIGN KEY (a_id) REFERENCES a (a_id), UNIQUE (t1_id, a_id)); CREATE TABLE t2 (t2_id integer, a_id integer, PRIMARY KEY (t2_id), FOREIGN KEY (a_id) REFERENCES a (a_id), UNIQUE (t2_id, a_id)); CREATE TABLE t1_t2 (t1_id integer, t2_id integer, a_id integer, PRIMARY KEY (t1_id, t2_id, a_id), FOREIGN KEY (t1_id, a_id) REFERENCES t1 (t1_id, a_id), FOREIGN KEY (t2_id, a_id) REFERENCES t2 (t2_id, a_id)); 进行回复。响应也不例外。相反,您可以返回它,也可以从django-rest-framework引发实际的异常(here中描述了所有可用的异常,请选择最适合您的情况。我认为,这应该是您自定义的{{{ 1}})。