Локальная переменная 'name' ссылается перед присвоением в Django

Мой views.py

def index(request):
if request.method=="POST":
    name=request.POST.get('name')
    email=request.POST.get('email')
    phone=request.POST.get('phone')
    message=request.POST.get('message')
contact=Contact(name=name, email=email, phone=phone, message=message)
contact.save()
return render(request, 'home/index.html')

Ошибка

C:\Django venv\CodingSchool\home\views.py, строка 12, in index

    contact=Contact(name=name, email=email, phone=phone, message=message)

Ваша переменная name находится вне тега if. Поэтому возьмите ее внутрь:

def index(request):
    if request.method=="POST":
        name=request.POST.get('name')
        email=request.POST.get('email')
        phone=request.POST.get('phone')
        message=request.POST.get('message')
        contact=Contact(name=name, email=email, phone=phone, message=message)
        contact.save()
    return render(request, 'home/index.html')
Вернуться на верх