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项目中发布其他内容,但似乎问题出在views上,我不知道为什么。
1 个回答
3
你在使用一个叫做 form
的变量,但这个变量并没有被定义。你需要把:
f = ContactForm(request.POST)
换成:
form = ContactForm(request.POST)