在 Django 中使用简单的 JWT 时无法验证电子邮件

Unable to verify email while using simple JWT in django

注册和登录部分在我的 Django 应用程序中正常运行。当有人注册时,他会收到一封确认电子邮件,但在点击电子邮件确认 link 后,该帐户未得到验证。我正在使用 try 和 except,它是每次都执行的 except 而 try 永远不会执行。

models.py

username = models.CharField(max_length=255, unique=True, db_index=True)
    email = models.EmailField(max_length=255, unique=True, db_index=True)
    is_verified = models.BooleanField(default=False)

views.py

  serializer_class = EmailVerificationSerializer

    def get(self, request):
        token = request.GET.get('token')
        try:
            key = jwt.decode(token, settings.SECRET_KEY)
            user = User.objects.get(id=key['user_id'])
            if not user.is_verified:
                user.is_verified = True
                user.save()
            return Response({'email': 'Your email has been activated'}, status=status.HTTP_200_OK)
        except jwt.exceptions.DecodeError as identifier:
            return Response({'error': 'token not valid'}, status=status.HTTP_400_BAD_REQUEST)

我想知道为什么即使令牌完好无损且未过期,try 部分中的代码也永远不会执行。

尝试使用key = jwt.decode(token, settings.SECRET_KEY, algorithms=['HS256'])