我是新在姜戈,我有一个新用户的姜戈注册页面,我和我需要禁用密码和用户名和help_text.I通过一些类似的问题来禁用help_texts,但似乎没有禁用密码help_texts。
下面是我的代码:
class CustomUserCreation(UserCreationForm):
email = forms.EmailField()
class Meta:
model = User
fields = ['username','email','password1','password2',]
help_texts = {
'email' : None,
'username' : None,
'password1' : None,
'password2' : None,
}
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',]
和我的init
from django.contrib.auth.forms import UserCreationForm
from django import forms
class UserCreateForm(UserCreationForm):
email = forms.EmailField(required=True)
def __init__(self, *args, **kwargs):
super(UserCreateForm, self).__init__(*args, **kwargs)
for fieldname in ['username', 'password1', 'password2']:
self.fields[fieldname].help_text = None
print UserCreateForm()
发布于 2019-06-06 02:55:44
我现在将重写你的类,,,
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 = ''
class Meta
中的help_texts
属性负责override
help_text
的字段,这些字段是从Model
(使用ModelForm
时)生成的。在您的例子中,使用覆盖__init__
并直接读取字段(所有字段,不管它是从Model
生成的,或者只是Form
的属性被填充到表示OrderedDict
的self.fields
实例属性中),然后覆盖每个字段的help_text
是非常好的主意。
希望,这对你有帮助。
https://stackoverflow.com/questions/56464571
复制相似问题