def create_user(request): if request.method == "POST": form = ProfileCreationForm(request.POST) if form.is_valid(): data = form.cleaned_data if request.user.is_authenticated(): user = request.user user.backend = "django.contrib.auth.backends.ModelBackend" else: user = form.save() profile = Profile() profile.user = user user.email = data["email"] profile.dob = data["dob"] profile.gender = data["gender"] profile.phone = data["phone"] profile.save() user.save() user = authenticate(username=request.POST["username"], password=request.POST["password1"]) login(request, user) return HttpResponseRedirect(reverse("home")) else: if request.user: user = request.user context = {} context["username"] = user.username context["first_name"] = user.first_name context["last_name"] = user.last_name context["email"] = user.email form = ProfileCreationForm(context) return render(request, "profile_registration.html", {"form": form})