def register(request): user_form = UserForm(request.POST or None) profile_form = ProfileForm(request.POST or None, request.FILES or None) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save(commit=False) try: validate_password(user_form.cleaned_data.get('password'), user) except ValidationError as e: user_form.add_error('password', e) return render(request, 'user/registration.html', context={ 'user_form': user_form, 'profile_form': profile_form, }) user.set_password(user.password) user.save() profile = profile_form.save(commit=False) profile.user = user profile.save() return render(request, 'user/registration.html', context={ 'user_form': user_form, 'profile_form': profile_form })
def signup(request): if request.POST: try: form = UserForm(request.POST) if form.is_valid(): user = form.save() user.first_name = form.cleaned_data['first_name'] user.last_name = form.cleaned_data['last_name'] user.username = form.cleaned_data['username'] user.email = form.cleaned_data['email'] user.password = form.cleaned_data['password'] user.password_confirm = form.cleaned_data['password_confirm'] user.set_password(user.password) user.save() return HttpResponseRedirect('/user/login') else: form.add_error(None, "Please enter all fields correctly") except IntegrityError: form.add_error(None, "Username is already taken") return render(request, 'accounts/create.html', {'form': form}) else: form = UserForm() return render(request, 'accounts/create.html', {'form': form})