私の電子メールは、 "ac.uk"これはnulll djangoすることはできません..?
で終了しなければならないので、私は形で
class MyUserCreationForm(UserCreationForm):
def clean_email(self):
if not self.cleaned_data['email'].endswith('ac.uk'):
raise forms.ValidationError('You need to use ac ID')
UserCreationForm
class UserCreationForm(forms.ModelForm):
password1 = forms.CharField(label='Password', widget=forms.PasswordInput(attrs={'placeholder': 'Password'}))
password2 = forms.CharField(label='Password confirmation', widget=forms.PasswordInput(attrs={'placeholder': 'Password confirmation'}))
class Meta:
model = MyUser
def __init__(self, auto_id='%s', *args, **kwargs):
super(Meta, self).__init__(*args, **kwargs)
self.fields['Mother_language'].choices = ('','Please choose ') + models.Language_list
self.fields['Mother_language'].choices = ('','Please choose ') + models.Language_list
widgets = {
'email': forms.TextInput(attrs={'size':30,'placeholder': 'Email'}),
'username': forms.TextInput(attrs={'size':30,'placeholder': 'UserName'}),
'status_message': forms.TextInput(attrs={'height':50,'placeholder': 'Write your message'}),
}
fields = ('email','username','Mother_language','Nationality','Wish_language','Profile_image','status_message')
と私の見解を、この1を置きます。
def register(request):
registered = False
if request.method == 'POST':
user_form = MyUserCreationForm(data=request.POST)
if user_form.is_valid():
user = user_form.save()
user.save()
if 'Profile_image' in request.FILES:
user.Profile_image = request.FILES['Profile_image']
user.save()
registered = True
else:
print(user_form.errors)
else:
user_form = MyUserCreationForm()
return render(request,
'LanguageExchange/register.html',
{'user_form': user_form,
'registered': registered})
は、私はそれが働いている、MyUserCreationFormを削除すると、私はやるとき、それは... ではなく、また、それはこのフィールドがnull ....
はplzは私を助けることができないと述べました。
メタクラス内での '__init__'の使用は何ですか? –
これはウィジェット用です.. – user7718204