DRF自定义认证类
# 自定义认证类
class Authtication(object):
# 自定义认证方法 def authenticate(self, request):
# 查看前端传过来的数据是否有token token = request._request.GET.get('token')
# 查询数据库用token匹配用户 token_obj = models.UserToken.objects.filter(token=token).first()
# 若没有匹配结果 if not token_obj:
# 抛出异常 raise exceptions.AuthenticationFailed('请先登录')
# 若有返回结果 return (token_obj.user, token_obj) def authenticate_header(self,request): pass class OrderView(APIView):
# 调用认证类,保证若想调用该类中的方法,必先通过认证 authentication_classes = [Authtication,] def get(self,request): pass