def signup(request): if request.user.is_authenticated(): return redirect(settings.LOGIN_REDIRECT_URL) if request.method == "POST": form = SignUpForm(request.POST) if form.is_valid(): user = form.save(commit=False) user.is_active = False user.save() current_site = get_current_site(request) subject = "Activate Your Rental Account" message = render_to_string( "accounts/account_activation_email.html", { "user": user, "domain": current_site.domain, "uid": urlsafe_base64_encode(force_bytes(user.pk)), "token": account_activation_token.make_token(user), }, ) user.email_user(subject, message) user_login(request, user) return redirect("accounts:account_activation_sent") else: form = SignUpForm() return render(request, "accounts/signup.html", {"form": form})
def activate(request, uidb64, token): try: uid = force_text(urlsafe_base64_decode(uidb64)) user = User.objects.get(pk=uid) except (TypeError, ValueError, OverflowError, User.DoesNotExist): user = None if user is not None and account_activation_token.check_token(user, token): user.is_active = True user.email_confirmed = True user.save() user_login(request, user) return redirect("profiles:update") else: return render(request, "accounts/account_activation_invalid.html")
def signup(request): if request.user.is_authenticated(): return redirect(settings.LOGIN_REDIRECT_URL) if request.method == 'POST': form = SignUpForm(request.POST) if form.is_valid(): user = form.save(commit=False) user.is_active = False user.save() current_site = get_current_site(request) subject = 'Activate Your Rental Account' message = render_to_string( 'accounts/account_activation_email.html', { 'user': user, 'domain': current_site.domain, 'uid': urlsafe_base64_encode(force_bytes(user.pk)), 'token': account_activation_token.make_token(user), }) user.email_user(subject, message) user_login(request, user) return redirect('accounts:account_activation_sent') else: form = SignUpForm() return render(request, 'accounts/signup.html', {'form': form})
def login(request, **kwargs): if request.user.is_authenticated(): # return redirect(settings.LOGIN_REDIRECT_URL) return redirect("/accounts") else: return user_login(request, **kwargs)