¿Cómo ocultas dinámicamente los campos de formulario en Django?

Estoy haciendo un formulario de perfil en Django. Hay muchos campos de perfil adicionales opcionales, pero solo me gustaría mostrar dos a la vez. ¿Cómo oculto o elimino los campos que no quiero mostrar dinámicamente?

Aquí está lo que tengo hasta ahora:

class UserProfileForm(forms.ModelForm):
    extra_fields = ('field1', 'field2', 'field3')
    extra_field_total = 2

    class Meta:
        model = UserProfile

    def __init__(self, *args, **kwargs):
        extra_field_count = 0
        for key, field in self.base_fields.iteritems():
            if key in self.extra_fields:
                if extra_field_count < self.extra_field_total:
                    extra_field_count += 1
                else:
                    # do something here to hide or remove field
        super(UserProfileForm, self).__init__(*args, **kwargs)

Respuestas a la pregunta(4)

Su respuesta a la pregunta