class someInputForm(forms.Form): def __init__(self, protectedFields, *args, **kwargs): super(someInputForm, self).__init__(*args, **kwargs) for key, value in protectedFields.iteritems(): # For Python 2.6 just use items() self.fields[key] = forms.CharField(initial = value, widget = forms.HiddenInput()) item = value def cleanthis(item = item): # Sometimes you have to decide if you love Python for this or not ;-) return item setattr(self, 'clean_%s' %(key), cleanthis) # Example: hiddenData = {'action': 'add', 'hash': '05ff2cba6e002b09288a99701ad5cfc9'} form = someInputForm(hiddenData)