Example #1
0
def usersignup(request):
    form = UserSignup()
    profile_form = ProfileForm()
    if request.method == 'POST':
        form = UserSignup(request.POST)
        profile_form = ProfileForm(request.POST, request.FILES)
        if form.is_valid() and profile_form.is_valid():
            user = form.save()
            profile = profile_form.save(commit=False)
            profile.owner = user
            profile.save()
            profile_form.save_m2m()
            user.set_password(user.password)
            user.save()

            login(request, user)
            messages.success(request, "Successfully signed up!")
            return redirect("profile", pk=profile.pk)
        messages.error(request, form.errors)
        messages.error(request, profile_form.errors)
        return redirect("signup")
    context = {
        "form": form,
        'profile_form': profile_form,
    }
    return render(request, 'signup.html', context)
Example #2
0
def create_profile(request):
    """
    Create a profile for the current User, if one doesn't already
    exist.

    If the User already has a profile, as determined by
    `request.user.profile`, a redirect will be issued to the
    `profiles.views.edit_profile` view. If no profile model has
    been specified in the `AUTH_PROFILE_MODULE` setting,
    `django.contrib.auth.models.SiteProfileNotAvailable` will be
    raised.
    """
    try:
        profile_obj = request.user.profile
        return redirect("profiles_edit_profile")
    except ObjectDoesNotExist:
        pass

    form = ProfileForm(request.POST or None,
                       request.FILES or None,
                       request=request)
    if form.is_valid():
        profile_obj = form.save(commit=False)
        profile_obj.user = request.user
        profile_obj.save()

        if hasattr(form, "save_m2m"):
            form.save_m2m()
        return redirect("profiles_my")
    return {"form": form}