Ошибка Django: UnboundLocalError в представлении
Этот действительно ставит меня в тупик, ребята. Любая помощь будет оценена.
UnboundLocalError at /addauthor
local variable 'form' referenced before assignment
Request Method: POST
Request URL: http://127.0.0.1:8000/addauthor
Django Version: 1.4
Exception Type: UnboundLocalError
Exception Value:
local variable 'form' referenced before assignment
Exception Location: C:\Users\Nir\desktop\club\blog\views.py in addauthorView, line 8
Python Executable: C:\Python27\python.exe
Python Version: 2.7.6
Вот мой views.py:
from django.shortcuts import render
from blog.forms import ContactForm
from django.http import HttpResponseRedirect
def addauthorView(request):
if request.method == 'POST':
f = ContactForm(request.POST)
if form.is_valid():
first_name = form.cleaned_data['firstname']
last_name = form.cleaned_data['lastname']
user_email = form.cleaned_data['email']
c = Contact(firstname=first_name, lastname=last_name, email=user_email)
c.save()
return HttpResponseRedirect('thanks/')
else:
form = ContactForm(request.POST)
return render(request, 'addauthor.html', {'form': ContactForm})
else:
return render(request, 'addauthor.html', {'form': ContactForm})
def thanksView(request):
return render(request, 'thanks.html')
Я могу публиковать другие вещи в моем проекте django по запросу, но кажется, что проблема исходит от представлений, и я не могу сказать, почему.
1 ответ
Решение
Вы используете form
переменная без ее определения. Заменить:
f = ContactForm(request.POST)
с:
form = ContactForm(request.POST)