def signup(request, template="accounts/account_signup.html", extra_context=None): """ Signup form. """ profile_form = get_profile_form() form = profile_form(request.POST or None, request.FILES or None) if request.method == "POST" and form.is_valid(): new_user = form.save() if not new_user.is_active: if settings.ACCOUNTS_APPROVAL_REQUIRED: send_approve_mail(request, new_user) info( request, _("Thanks for signing up! You'll receive " "an email when your account is activated.")) else: send_verification_mail(request, new_user, "signup_verify") info( request, _("A verification email has been sent with " "a link for activating your account.")) return redirect(next_url(request) or "/") else: info(request, _("Successfully signed up")) auth_login(request, new_user) return login_redirect(request) context = {"form": form, "title": _("Sign up")} context.update(extra_context or {}) return TemplateResponse(request, template, context)
def signup_form(*args): """ Returns the signup form: {% signup_form as form %} {{ form }} """ return get_profile_form()()
def profile_form(user): """ Returns the profile form for a user: {% if request.user.is_authenticated %} {% profile_form request.user as form %} {{ form }} {% endif %} """ if isinstance(user, User): return get_profile_form()(instance=user) return ""
def profile_update(request, template="accounts/account_profile_update.html", extra_context=None): """ Profile update form. """ profile_form = get_profile_form() form = profile_form(request.POST or None, request.FILES or None, instance=request.user) if request.method == "POST" and form.is_valid(): user = form.save() info(request, _("Profile updated")) try: return redirect("profile", username=user.username) except NoReverseMatch: return redirect("profile_update") context = {"form": form, "title": _("Update Profile")} context.update(extra_context or {}) return TemplateResponse(request, template, context)