per E-Mail mit "ac.uk"das kann nicht nulll django ..?
so habe ich in Form
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')
und meiner Meinung nach dieser einen beendet werden soll.
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})
wenn ich entfernen MyUserCreationForm, es funktioniert, aber wenn ich das tue, ist es nicht ... und auch, so heißt dieses Feld nicht null sein kann ....
plz mir helfen.
Was ist die Verwendung von "__init__" in der Meta-Klasse? –
das ist für widget .. – user7718204