python - Conditionally show and hide a form field and set the field value -



python - Conditionally show and hide a form field and set the field value -

i have form in django looks this:

class personnelform(forms.form): """ form creating new personnel. """ username = forms.regexfield( required=true, max_length=30, label=_("name") ) is_manager = forms.booleanfield( required=true, label=_("is manager") )

i utilize form in 2 places in site. 1 1 of places, i'd display form , of fields except is_manager field set default value of field true. in other place, i'd display form , of fields including is_manager field , have default value of false.

how can accomplish this? seems trivial thing can't figure out.

thanks.

you utilize form's __init__ method hide (or delete) field, i.e.

class personnelform(forms.form): """ form creating new personnel. """ username = forms.regexfield( required=true, max_length=30, label=_("name") ) is_manager = forms.booleanfield( required=true, label=_("is manager") ) def __init__(self, *args, **kwargs): delete_some_field = kwargs.get('delete_some_field', false) if 'delete_some_field' in kwargs: del kwargs['delete_some_field'] super(personnelform, self).__init__(*args, **kwargs) if delete_some_field: del self.fields['is_manager'] # or self.fields['is_manager'].widget = something_else #views.py form = personnelform(...., delete_some_field=true)

python django django-forms form-fields

Comments

Popular posts from this blog

iphone - Dismissing a UIAlertView -

c# - Can ProtoBuf-Net deserialize to a flat class? -

javascript - Change element in each JQuery tab to dynamically generated colors -