小编bys*_*eti的帖子

如何在Django Rest Framework中更新用户密码?

我想问下面的代码提供更新密码,但我想在当前密码确认过程后更新密码.那么我应该为它添加什么呢?谢谢.

class UserPasswordSerializer(ModelSerializer):

    class Meta:
        model = User
        fields = [
            'password'
        ]

        extra_kwargs = {
            "password": {"write_only": True},
        }

    def update(self, instance, validated_data):
        for attr, value in validated_data.items():
            if attr == 'password':
                instance.set_password(value)
            else:
                setattr(instance, attr, value)
        instance.save()
        return instance
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

25
推荐指数
5
解决办法
2万
查看次数

在 Django Rest Framework 中解码签名时出错

我在我的 API 中使用 JWT。但我无法使用 JWT 进行身份验证。我找不到什么问题。感谢您的帮助。

@api_view(['POST'])
@permission_classes((AllowAny,))
def UserLogin(request):
    try:
        username = request.POST.get('username', None)
        password = request.POST.get('password', None)
        account = authenticate(username=username, password=password)

    except (User.DoesNotExist, User.PasswordDoesNotMatch):
            return Response({'message': 'Wrong credentials'}, status=400)
    if account is not None:
        if account.is_active:
            login(request, account)
            if request.user.is_superuser:
                    user_type = '0'
            elif request.user.is_instructor():
                    user_type = '1'
            elif request.user.is_student():
                    user_type = '2'
            else:
                    user_type = '3'

            payload = {
                    'user_type': user_type,
                    'username': username,
                    'exp': datetime.utcnow() + timedelta(seconds=JWT_EXP_DELTA_SECONDS)
                }
            jwt_token = jwt.encode(payload, JWT_SECRET, JWT_ALGORITHM)
            return Response({'token': jwt_token.decode('utf-8')})
Run Code Online (Sandbox Code Playgroud)

有效载荷数据返回 …

python django json jwt django-rest-framework

8
推荐指数
1
解决办法
6064
查看次数

标签 统计

django ×2

django-rest-framework ×2

python ×2

json ×1

jwt ×1