10

現在、パスワード/パスワードの確認フィールドを含むフォームを表示する UserRegistration ビューを作成しています。問題は、Browsable API がモデルの定義で発生するフィールドのみを表示することです。

  • カスタム フィールドを追加できるようにするには、フォームをどのように微調整すればよいですか?

    class UserRegistrationSerializer(serializers.ModelSerializer):
    
        password = serializers.CharField(
            max_length=128,
            widget=widgets.PasswordInput,
            label=_('Password')
        )
        password_confirm = serializers.CharField(
            max_length=128,
            widget=widgets.PasswordInput,
            label=_('Confirm password')
        )
    
        class Meta:
            model = User
            fields = ('id', 'name', 'username', 'email', 'password', 'registration_date')
    
        def validate(self, attrs):
            if attrs.get('password') and attrs.get('password_confirm'):
                if attrs['password'] != attrs['password_confirm']:
                    raise serializers.ValidationError(_("Passwords do not match"))
            return attrs
    
  • また、入力シリアライザーと出力シリアライザーを区別する最良の方法は何ですか?

4

2 に答える 2