Почему я получаю локальную переменную error_form, на которую ссылаются перед присваиванием - PullRequest
0 голосов
/ 11 января 2019

В коде почему я получаю сообщение об ошибке "локальная переменная 'user_form' перед присваиванием"?

from django.shortcuts import render
from basic_app.forms import UserForm,UserProfileInfoForm

def index(request):
 return render(request,'basic_app/index.html')

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) #Hashing the password
        user.save()

        profile=profile_form.save(commit=False)
        profile.user=user #Sets up one to one relationship

        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()

return render(request,'basic_app/registration.html',{'user_form':user_form,'profile_form':profile_form,'registered':registered})

Это в файле views.py. Застрял в этом проекте с тех пор. Пожалуйста, помогите?

Ответы [ 2 ]

0 голосов
/ 11 января 2019

У вас есть проблема с отступом ... Проверьте отредактированный здесь

from django.shortcuts import render
from basic_app.forms import UserForm, UserProfileInfoForm


def index(request):
    return render(request, 'basic_app/index.html')


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)  # Hashing the password
            user.save()

            profile = profile_form.save(commit=False)
            profile.user = user  # Sets up one to one relationship

            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()
    return render(request, 'basic_app/registration.html',  {'user_form': user_form, 'profile_form': profile_form, 'registered': registered})
0 голосов
/ 11 января 2019

Ваш второй блок еще слишком отступ. Переместите его на один уровень назад.

...