注册用户时,页面上没有密码字段

时间:2017-11-08 04:46:22

标签: python django django-rest-framework

当我注册用户时,页面上没有密码字段:

enter image description here

你知道,这里只有用户名和电子邮件,没有密码。

我的Serializers.py代码:

class UserCreateSerializer(ModelSerializer):
    """
    用户注册
    """
    class Meta:
        model = User
        fields = [
            'username',
            'email',
            'password',
        ]
        extra_kwargs = {
            "password":{"read_only":True}
        }
    def create(self, validated_data):
        username = validated_data["username"]
        email = validated_data["email"]
        password = validated_data["password"]
        user_obj = User(
            username = username,
            email = email,
        )
        user_obj.set_password(password)
        user_obj.save()

        return validated_data

我的views.py代码:

# 普通用户注册
class UserCreateAPIView(CreateAPIView):
    serializer_class = UserCreateSerializer
    queryset = User.objects.all()

1 个答案:

答案 0 :(得分:3)

将密码的extra_kwargs更改为write_only而不是read_only

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