DRF中使用JWT,在view中获取用户信息

前提是在Django REST framework中使用了JWT

1.由于我是自定义的JWT,之前没装djangorestframework-jwt,所以先安装

pip install djangorestframework-jwt

2.测试

class Test(APIView):
    """
    测试接口
    """

    def get(self, request):
        # 获取请求参数token的值
        token = request.GET.get("token")
        print(token)
        # token解析后的值
        toke_user = jwt_decode_handler(token)
        # 获得user_id
        user_id = toke_user["user_id"]
        print(user_id)
        # 通过user_id查询用户信息
        name = models.UserInfo.objects.get(id=user_id).username
        print(name, type(name))
        return Response({
            "state": True,
            "status": 1
        })

 

 

 

# 如果是headers中传入的Authorization和token值,可以使用这种方式获取token

token = request.META.get('HTTP_AUTHORIZATION')

 

 

 

 ok,结束了

参考:https://www.jianshu.com/p/3aa4a9625717  和  https://www.cnblogs.com/lutt/p/11154902.html

 

posted @ 2020-04-16 11:04  blog_wu  阅读(809)  评论(0编辑  收藏  举报