Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def user_register(request):
- # Like before, get the request's context.
- context = RequestContext(request)
- # A boolean value for telling the template whether the registration was successful.
- # Set to False initially. Code changes value to True when registration succeeds.
- registered = False
- # If it's a HTTP POST, we're interested in processing form data.
- if request.method == 'POST':
- # Attempt to grab information from the raw form information.
- # Note that we make use of both UserForm and UserProfileForm.
- user_form = UserForm(data=request.POST)
- # If the two forms are valid...
- if user_form.is_valid():
- # Save the user's form data to the database.
- user = user_form.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()
- # Now sort out the UserProfile instance.
- # Since we need to set the user attribute ourselves, we set commit=False.
- # This delays saving the model until we're ready to avoid integrity problems.
- # Update our variable to tell the template registration was successful.
- registered = True
- return HttpResponseRedirect('/login')
- # Invalid form or forms - mistakes or something else?
- # Print problems to the terminal.
- # They'll also be shown to the user.
- else:
- # jeśli email istnieje (bo mail zapisałem pod postacią username...)
- if "username" in user_form.errors:
- print("User with that mail is already registered.")
- return render(request, 'bank/register.html', {
- 'error_message': "User with that mail is already registered.",
- })
- # Not a HTTP POST, so we render our form using two ModelForm instances.
- # These forms will be blank, ready for user input.
- else:
- user_form = UserForm()
- # Render the template depending on the context.
- return render_to_response(
- 'bank/register.html',
- {'user_form': user_form, 'registered': registered},
- context)
Advertisement
Add Comment
Please, Sign In to add comment