Вы можете изменить виджет в виде __init__
метод:
def __init__(self, *args, **kwargs):
super(NewUserForm, self).__init__(*args, *kwargs)
self.fields['fieldname'].widget = forms.HiddenInput()
Вы можете изменить что-либо о поле .. например.требуемый, выбор и многое другое, что вы можете решить по-разному во время отображения формы.Вы также можете удалить поля из формы здесь, или добавить поля, которые вы можете включить только условно .. например ::
del self.fields['fieldname']
if some_condition:
field['new_fieldname'] = forms.CharField()