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() user.set_password(user.password) user.save() profile = profile_form.save(commit=False) profile.user = user if 'profile_pics' in request.FILES: profile.profile_pic = request.FIlES(['profile_pics']) profile.save() registered = True else: print(user_form.errors,profile_form.errors) else: user_form = UserForm profile_form = UserProfileInfoForm return render(request,'login_app/registration.html',{'user_form':user_form,'profile_form':profile_form,'registered':registered})
def registration(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() 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 else: print(user_form.errors, profile_form.errors) else: user_form = UserForm() profile_form = UserProfileInfoForm() context = { 'user_form':user_form, 'profile_form':profile_form, 'registered':registered, } return render(request, 'login_app/registration.html', context)
def regitser(request): registered = False if request.method == "POST": user_form = UserInfo(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 registered = True if 'profile_pic' in request.FILES: profile.profile_pic = request.FILES['profile_pic'] profile.save() else: print(user_form.errors,profile_form.errors) else: user_form = UserInfo() profile_form = UserProfileInfoForm() return render(request,"login_app/registration_page.html",{'user_form':user_form,'profile_form':profile_form,'registered':registered})
def register(request): registered = False if request.method == 'GET': user_form = UserForm() user_profile_info_form = UserProfileInfoForm() elif request.method == 'POST': user_form = UserForm(data=request.POST) user_profile_info_form = UserProfileInfoForm(data=request.POST) if user_form.is_valid() and user_profile_info_form.is_valid(): user = user_form.save() # By defailt commit=True user.set_password(user.password) # Hashing the password user.save() # Holding the commit to manipulate the data profile = user_profile_info_form.save(commit=False) profile.user = user # Getting the user for one to one relationship # request.FILES is a dict that contains the files sent by the user if 'profile_pic' in request.FILES: profile.profile_pic = request.FILES['profile_pic'] profile.save() # Finally, saving with commit=True registered = True # Else data is invalid # else: # print("User registration failed.") # print(user_form.errors(), user_profile_info_form.errors()) dictionary = { 'registered': registered, 'user_form': user_form, 'user_profile_info_form': user_profile_info_form } # By this, if user already exists, it renders the form showing the error. return render(request, 'login_app/register.html', context=dictionary)
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, 'login_app/registration.html', { 'user_form': user_form, 'profile_form': profile_form, 'registered': registered })