def register(request): if request.method == 'POST': user_form = UserForm(data=request.POST) if user_form.is_valid(): user = User() user.email = user_form.cleaned_data['email'] user.username = user.email user.set_password(user_form.cleaned_data['password']) user.save() user_profile = UserProfile() user_profile.user = user user_profile.website = user_form.cleaned_data['website'] if 'picture' in request.FILES: user_profile.picture = request.FILES['picture'] user_profile.save() login(request, user) send_confirmation_email(request, user) messages.success(request,'Registration successfully happened. Now confirm your email.') return redirect('index') else: print(user_form.errors) messages.error(request,'Check out your data, invalid form!.') else: user_form = UserForm() context_dict ={ 'user_form': user_form,} return render(request,'auth/register.html', context_dict)
def test_create_user_using_view(self): """ test user creation functions in views.py (no form used)""" # delete user if it exists try: userKK = User.objects.get(username=username) userKK.delete() except User.DoesNotExist: pass # create user self.username with password self.passwd # fill user form loginDict = {} loginDict["username"] = username loginDict["email"] = email loginDict["password"] = passwd userForm = UserForm(data=loginDict) # fill profile form profileDict = {} profileDict['website'] = website # create auxiliary black image for profileForm filesDict = {'picture': createPicture()} userProfileForm = UserProfileForm(data=profileDict, files=filesDict) if userForm.is_valid() and userProfileForm.is_valid(): try: # Save the user's form data to the database. user = userForm.save() # Now we hash the password with the set_password method. # Once hashed, we can update the user object. user.set_password(user.password) user.save() # we need to set a user object in userprofile userprofile = userProfileForm.save(commit=False) userprofile.user = user userprofile.save() except Exception as e: raise Exception("Error processing form: %s" % e.message) self.assertTrue(userForm.is_valid()) self.assertTrue(userProfileForm.is_valid()) # check user name try: userKK = User.objects.get(username=username) except User.DoesNotExist: userKK = User() self.assertEqual(userKK.email, email) # check file name try: userprofileKK = UserProfile.objects.get(user=userKK) except User.DoesNotExist: userprofileKK = UserProfile() imageName = join(settings.MEDIA_ROOT, userprofileKK.picture.name) with Image.open(imageName) as im: width, height = im.size self.assertEqual(width, 200)
def add_user(user): try: u = User.objects.get(username=user['email']) except User.DoesNotExist: u = User() u.email = user['email'] u.username = user['email'] u.set_password(user['password']) u.save() try: user_profile = UserProfile.objects.get(user__username=user['email']) except UserProfile.DoesNotExist: user_profile = UserProfile() user_profile.user = u user_profile.website = user['website'] user_profile.save()
def register_profile(request): try: user_profile = request.user.userprofile except UserProfile.DoesNotExist: user_profile = UserProfile(user=request.user) if request.method == 'POST': form = UserProfileForm(request.POST, instance=user_profile) print "request.POST: %s \n" % request.POST if form.is_valid(): form.save() return redirect('/rango/profile') else: form = UserProfileForm(instance=user_profile) context_dict = {'form': form} return render(request, 'rango/profile_registration.html', context_dict)
def register(self, request, **cleaned_data): # Create a new User username, email, password = cleaned_data['username'], cleaned_data[ 'email'], cleaned_data['password1'] new_user_object = UserModel().objects.create_user( username, email, password) # And links that user to a new (empty) UserProfile profile = UserProfile(user=new_user_object) profile.save() new_user = authenticate(username=username, password=password) login(request, new_user) signals.user_registered.send(sender=self.__class__, user=new_user, request=request) return new_user
def view_profile(request): user_profile = UserProfile(user=request.user) return render(request, 'rango/profile.html', {'user_profile': user_profile})