def register(request): registered = False if request.method == 'POST': user_form = UserForm(request.POST) profile_form = UserProfileInfoForm(request.POST) if user_form.is_valid and profile_form.is_valid: user = user_form.save() user.set_password(user.password) user.save() profile = profile_form.save(commit=False) profile.user = user if 'profile_picture' in request.FILES: profile.profile_picture = request.FILES['profile_picture'] profile.save() registered = True else: print(user_form.errors,profile_form.errors) else: user_form = UserForm(request.POST) profile_form = UserProfileInfoForm(request.POST) return render(request,'user_app/registration.html',{'user_form':user_form,'profile_form':profile_form,'registered':registered})
def register(request): registered = False if request.method == 'POST': try: user_form = UserForm(data=request.POST) profile_form = UserProfileInfoForm(data=request.POST) except Exception as e: raise AttributeError( "UserProfileInfoForm has no 'request' attribute") try: if user_form.is_valid() and profile_form.is_valid(): user = user_form.save() user.set_password(user.password) user.save() profile = profile_form.save(commit=False) profile.user = user if 'profile_pic' in request.FILES: profile.profile_pic = request.FILES['profile_pic'] profile.save() registered = True except: raise OSError(sys.exc_info()[0], sys.exc_info()[1], sys.exc_info()[2]) else: user_form = UserForm profile_form = UserProfileInfoForm cntx = { 'user_form': user_form, 'profile_form': profile_form, 'registered': registered } return render(request, 'user_app/registration.html', context=cntx) else: user_form = UserForm profile_form = UserProfileInfoForm cntx = { 'user_form': user_form, 'profile_form': profile_form, 'registered': registered } return render(request, 'user_app/registration.html', context=cntx)
def register(request): registered = False if request.method == "POST": user_form = UserForm(data=request.POST) profile_form = UserProfileInfoForm(data=request.POST) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save() # Hashing the password user.set_password(user.password) user.save() # Not commit to avoid overwriting profile = profile_form.save(commit=False) # For the OneToOne relationship with user profile.user = user if 'profile_pic' in request.FILES: # request.FILES is acting as a dictionary profile.profile_pic = request.FILES['profile_pic'] profile.save() registered = True else: print(user_form.errors, profile_form.errors) else: user_form = UserForm() profile_form = UserProfileInfoForm() return render( request, 'user_app/registration.html', { 'user_form': user_form, 'profile_form': profile_form, 'registered': registered })
def sign_up(request): registered = False ##form = User_Form() if request.method == 'POST': user_form = User_Form(data = request.POST) profile_form = UserProfileInfoForm(data = request.POST) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save() user.set_password(user.password) user.save() profile = profile_form.save(commit =False) profile.user = user if 'profile_pic' is request.FILES: profile.profile_pic=request.FILES['profile_pic'] profile.save() registered= True else: print(user_form.errors,profile_form.errors) else: user_form = User_Form() profile_form = UserProfileInfoForm() return render(request, 'user_app/sign_up.html', {'user_form':user_form, 'profile_form':profile_form,'registered':registered})
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,'user_app/registration.html', {'user_form':user_form, 'profile_form':profile_form, 'registered':registered})
def register(request): # check if user is registered registered = False if request.method == 'POST': # grab information from user form user_form = UserForm(data=request.POST) # grab information from profile info form profile_form = UserProfileInfoForm(data=request.POST) # check if both forms are valid if user_form.is_valid() and profile_form.is_valid(): # grab user form and save it to database user = user_form.save() # hash password with set method user.set_password(user.password) # save hashed password user.save() profile = profile_form.save(commit=False) # define one to one relationship profile.user = user # check for proile picture if 'profile_pic' in request.FILES: profile.profile_pic = request.FILES['profile_pic'] # save model profile.save() # set user as registered registered = True else: # if either form is invalid print error print(user_form.errors, profile_form.errors) # if user never posts any information to forms, set user and profile forms else: user_form = UserForm() profile_form = UserProfileInfoForm() # return forms return render( request, 'user_app/registration.html', { 'user_form': user_form, 'profile_form': profile_form, 'registered': registered })