title: How to modify Browsable API form
body: <p>Currently, I am creating a UserRegistration view, which should display form with password/confirm password fields. The problem is that the Browsable API displays only fields which occur in the model's definition.</p>
  
  <ul>
  <li><p>How should I tweak the form so that to be able to add custom fields?</p>
  
  <pre><code>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
  </code></pre></li>
  <li><p>Also, what is the best way to distinguish the input serializer from the output serializer?</p></li>
  </ul>