Я сейчас перепишу твои классы ,,,
1)
class CustomUserCreation(UserCreationForm):
''' avoid help_text with email, username, password1, password2 (As you want)'''
email = forms.EmailField()
class Meta:
model = User
fields = (
'username',
'email',
'password1',
'password2'
)
def __init__(self, *args, **kwargs):
super(CustomUserCreation, self).__init__(*args, **kwargs)
for field_name in ('username', 'email', 'password1', 'password2'):
self.fields[field_name].help_text = ''
2)
class UpdateUser(forms.ModelForm):
email = forms.EmailField()
class Meta:
model = User
fields = ['email','username',]
class UpdateProfile(forms.ModelForm):
profile_picture = forms.ImageField()
class Meta:
model = Profile
fields = ['profile_picture',]
3)
class UserCreateForm(UserCreationForm):
email = forms.EmailField(required=True)
def __init__(self, *args, **kwargs):
super(UserCreateForm, self).__init__(*args, **kwargs)
for field_name in ('email', 'username', 'password1', 'password2'):
self.fields[field_name].help_text = ''
Атрибут
help_texts
в class Meta
отвечает за override
help_text
для полей, которые генерируются из Model
(при использовании ModelForm
). В вашем случае используйте переопределение __init__
и читайте поля напрямую (все поля, независимо от того, сгенерировано ли оно из Model
или являются просто атрибутом Form
, заполняются в self.fields
атрибуте экземпляра, который представляет OrderedDict
), а затем переопределяют help_text
для каждого поля действительно хорошая идея.
Надеюсь, это вам поможет.