def test_last_name_form_char_field_max_length(self): form = UserForm() self.assertEquals(form.fields['last_name'].max_length, 50)
def test_email_form_email_field_label(self): form = UserForm() self.assertEquals(form.fields['email'].label, 'Email')
def test_email_form_email_field_required(self): """ Checks if email is required """ form = UserForm() self.assertEquals(form.fields['email'].required, True)
def test_password2_form_char_field_help_text(self): form = UserForm() self.assertEquals( form.fields['password2'].help_text, 'Enter the same password as above, for verification.')
def test_password2_form_char_field_label(self): form = UserForm() self.assertTrue( form.fields['password2'].label == None or form.fields['password2'].label == 'Password confirmation')
def register(request): registered = False if request.method == 'POST': # Get info from "both" forms # It appears as one form to the user on the .html page user_form = UserForm(data=request.POST) profile_form = UserProfileInfoForm(data=request.POST) # Check to see both forms are valid if user_form.is_valid() and profile_form.is_valid(): # Save User Form to Database user = user_form.save() # Hash the password user.set_password(user.password) # Update with Hashed password user.save() # Now we deal with the extra info! # Can't commit yet because we still need to manipulate profile = profile_form.save(commit=False) # Set One to One relationship between # UserForm and UserProfileInfoForm profile.user = user # Check if they provided a profile picture if 'profile_pic' in request.FILES: print('found it') # If yes, then grab it from the POST form reply profile.profile_pic = request.FILES['profile_pic'] # Now save model profile.save() # Registration Successful! registered = True else: # One of the forms was invalid if this else gets called. print(user_form.errors, profile_form.errors) else: # Was not an HTTP post so we just render the forms as blank. user_form = UserForm() profile_form = UserProfileInfoForm() # This is the render and context dictionary to feed # back to the registration.html file page. return render( request, 'first_app/registration.html', { 'user_form': user_form, 'profile_form': profile_form, 'registered': registered })