मैं Django में एक प्रोफाइल फॉर्म बना रहा हूँ। बहुत सारे वैकल्पिक अतिरिक्त प्रोफ़ाइल फ़ील्ड हैं लेकिन मैं केवल एक समय में दो दिखाना चाहता हूं। मैं उन क्षेत्रों को कैसे छुपा या हटा सकता हूं जिन्हें मैं गतिशील रूप से दिखाना नहीं चाहता हूं?आप Django में फॉर्म फ़ील्ड को गतिशील रूप से कैसे छिपाते हैं?
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)
संबंधित उत्तर: http://stackoverflow.com/a/1914812/462865 –