Django登录时返回自定义HTTP_STATUS_CODE

时间:2014-10-30 05:38:51

标签: django django-permissions django-login

我的Django REST API有这个类用于身份验证:

class AuthView(APIView):
      authentication_classes = (BasicAuthentication,)

      def post(self, request, *args, **kwargs):
          login(request, request.user)
          data = {'testkey':'testvalue'}
          return HttpResponse(json.dumps(data), content_type="application/json")

如果凭据正确,我将获得200状态代码(这很好)。 但是,对于错误的凭据,我想返回默认(401)状态代码以外的状态代码。

1 个答案:

答案 0 :(得分:2)

HttpResponse采用状态关键字参数,所以

HttpResponse(json.dumps(data), content_type="application/json", status=418)

将提升经典我是一个茶壶

Django's http module