Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django rest framework 我正在尝试使用djangorest框架使用jwt令牌实现身份验证,但遇到断言错误_Django Rest Framework - Fatal编程技术网

Django rest framework 我正在尝试使用djangorest框架使用jwt令牌实现身份验证,但遇到断言错误

Django rest framework 我正在尝试使用djangorest框架使用jwt令牌实现身份验证,但遇到断言错误,django-rest-framework,Django Rest Framework,AssertionError:“LoginView”应该包含序列化程序\u类属性,或者重写get\u serializer\u class()方法 这是代码 类登录视图(GenericAPIView): 即使我将serializer=UserSerializer(user)data={'user':serializer.data,'token':auth\u token}更改为serializer\u class=UserSerializer(user)data={'user':serializ

AssertionError:“LoginView”应该包含序列化程序\u类属性,或者重写get\u serializer\u class()方法

这是代码 类登录视图(GenericAPIView):


即使我将serializer=UserSerializer(user)data={'user':serializer.data,'token':auth\u token}更改为serializer\u class=UserSerializer(user)data={'user':serializer\u class.data,'token':auth\u token}仍然不起作用,只是类名,在
post
中使用
serializer=self.get\u serializer(data=request.data)
。实际上,序列化程序应该有
用户名
密码
。因此,您最好使用这些字段创建一个
UserLoginSerializer
def post(self, request):
    data = request.data
    username = data.get('username', '')
    password = data.get('password', '')
    user = auth.authenticate(username=username, password=password)
    if user:
        auth_token = jwt.encode({'username': user.username}, settings.JWT_SECRET_KEY)
        serializer = UserSerializer(user)
        data = {'user': serializer.data, 'token': auth_token}
        return Response(data, status=status.HTTP_200_OK)
    return Response({'detail': 'Invalid credential'}, status=status.HTTP_401_UNAUTHORIZED)