def register(request):
    registered = False

    if request.method == 'POST':

        user_form = UserForm(data=request.POST)
        profile_form = UserProfileInfoForm(data=request.POST)

        if user_form.is_valid() and profile_form.is_valid():

            user = user_form.save()
            user.set_password(user.password)
            user.save()

            profile = profile_form.save(commit=False)
            profile.user = user

            if 'profile_pics' in request.FILES:
                profile.profile_pic = request.FIlES(['profile_pics'])

            profile.save()

            registered = True

        else:
            print(user_form.errors,profile_form.errors)

    else:
        user_form = UserForm
        profile_form = UserProfileInfoForm

    return render(request,'login_app/registration.html',{'user_form':user_form,'profile_form':profile_form,'registered':registered})
Example #2
0
def registration(request):
    registered = False 
    if request.method == "POST":
        user_form = UserForm(data=request.POST)
        profile_form = UserProfileInfoForm(data=request.POST)

        if user_form.is_valid() and profile_form.is_valid():
            user = user_form.save()

            profile = profile_form.save(commit=False)
            profile.user = user

            if 'profile_pic' in request.FILES:
                profile.profile_pic = request.FILES['profile_pic']
            profile.save()

            registered = True
        else:
            print(user_form.errors, profile_form.errors)
    else:
        user_form = UserForm()
        profile_form = UserProfileInfoForm()

    context = { 
        'user_form':user_form,
        'profile_form':profile_form,
        'registered':registered,
    }

    return render(request, 'login_app/registration.html', context)
def regitser(request):

    registered = False

    if request.method == "POST":

        user_form = UserInfo(data=request.POST)
        profile_form = UserProfileInfoForm(data=request.POST)

        if user_form.is_valid() and profile_form.is_valid():

            user = user_form.save()
            user.set_password(user.password)
            user.save()

            profile = profile_form.save(commit=False)
            profile.user = user

            registered = True

            if 'profile_pic' in request.FILES:
                profile.profile_pic = request.FILES['profile_pic']

            profile.save()

        else:
            print(user_form.errors,profile_form.errors)

    else:
        user_form = UserInfo()
        profile_form = UserProfileInfoForm()

    return render(request,"login_app/registration_page.html",{'user_form':user_form,'profile_form':profile_form,'registered':registered})
def register(request):
    registered = False

    if request.method == 'GET':
        user_form = UserForm()
        user_profile_info_form = UserProfileInfoForm()

    elif request.method == 'POST':
        user_form = UserForm(data=request.POST)
        user_profile_info_form = UserProfileInfoForm(data=request.POST)

        if user_form.is_valid() and user_profile_info_form.is_valid():
            user = user_form.save()  # By defailt commit=True
            user.set_password(user.password)  # Hashing the password
            user.save()

            # Holding the commit to manipulate the data
            profile = user_profile_info_form.save(commit=False)
            profile.user = user  # Getting the user for one to one relationship

            # request.FILES is a dict that contains the files sent by the user
            if 'profile_pic' in request.FILES:
                profile.profile_pic = request.FILES['profile_pic']

            profile.save()  # Finally, saving with commit=True
            registered = True

        # Else data is invalid
        # else:
        #     print("User registration failed.")
        #     print(user_form.errors(), user_profile_info_form.errors())

    dictionary = {
        'registered': registered,
        'user_form': user_form,
        'user_profile_info_form': user_profile_info_form
    }

    # By this, if user already exists, it renders the form showing the error.
    return render(request, 'login_app/register.html', context=dictionary)
Example #5
0
def register(request):

    registered = False

    if request.method == 'POST':

        # Get info from "both" forms
        # It appears as one form to the user on the .html page
        user_form = UserForm(data=request.POST)
        profile_form = UserProfileInfoForm(data=request.POST)

        # Check to see both forms are valid
        if user_form.is_valid() and profile_form.is_valid():

            # Save User Form to Database
            user = user_form.save()

            # Hash the password
            user.set_password(user.password)

            # Update with Hashed password
            user.save()

            # Now we deal with the extra info!

            # Can't commit yet because we still need to manipulate
            profile = profile_form.save(commit=False)

            # Set One to One relationship between
            # UserForm and UserProfileInfoForm
            profile.user = user

            # Check if they provided a profile picture
            if 'profile_pic' in request.FILES:
                print('found it')
                # If yes, then grab it from the POST form reply
                profile.profile_pic = request.FILES['profile_pic']

            # Now save model
            profile.save()

            # Registration Successful!
            registered = True

        else:
            # One of the forms was invalid if this else gets called.
            print(user_form.errors, profile_form.errors)

    else:
        # Was not an HTTP post so we just render the forms as blank.
        user_form = UserForm()
        profile_form = UserProfileInfoForm()

    # This is the render and context dictionary to feed
    # back to the registration.html file page.
    return render(
        request, 'login_app/registration.html', {
            'user_form': user_form,
            'profile_form': profile_form,
            'registered': registered
        })