def register(request): if request.user.is_authenticated(): return HttpResponseRedirect(reverse('survey.views.survey')) else: errors = {} registered = False if request.POST: username = request.POST['user'] password = request.POST['password'] repeat_password = request.POST['password-repeat'] user_form = UserForm(data={'username': username}) if len(password) <= 0: errors['empty_password'] = '******' elif password != repeat_password: errors['different_passwords'] = 'Passwords do not match!' else: try: user = User() user.username = username user.set_password(password) user.save() user_profile = UserProfile() user_profile.user = user user_profile.points = 0 user_profile.save() user = authenticate(username=username,password=password) registered = True login(request, user) except IntegrityError: errors['user_error'] = 'User already exists!' else: user_form = UserForm() return render(request, 'survey/register.html', {'user_form': user_form, 'errors': errors, 'registered': registered})