我想知道你们是否可以提供帮助。我正在尝试做一个简单的视图,它将用户发送到客户端创建表单,但我不断收到此错误:
分配前引用的局部变量'form'
看着我的代码,我看不出什么错。
def add_client(request):
user = request.user
if request.method =='POST':
form = AddClientForm(request.POST)
if form.is_valid():
client = form.save(commit=False)
client.save()
return HttpResponseRedirect('/')
else:
form = AddClientForm()
return render_to_response('clients/addClient.html', { 'form': form, 'user': user, }, context_instance=RequestContext(request))
有人告诉我哪里出错了吗?
答案 0 :(得分:13)
这就是发生的事情:
if
块。form
变量。form
声明中的return
变量。关于如何解决它,这真的是你要决定的。修复的内容取决于您希望代码在请求方法不是POST
时执行的操作。
答案 1 :(得分:7)
你几乎肯定想要缩进这一部分:
else:
form = AddClientForm()
也就是说,在页面的初始GET上,使用空白客户端表单,然后在页面发布时,使用请求POST数据填写表单对象。