繁体   English   中英

分配前引用的局部变量

[英]Local Variable referenced before assignment

我想知道你们是否可以提供帮助。 我正在尝试做一个简单的视图,它将用户发送到客户端创建表单,但是我一直收到此错误:

赋值之前引用的局部变量“ 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))

有人告诉我我哪里出问题了吗?

这是正在发生的事情:

  1. 没有输入if块。
  2. 未定义form变量。
  3. 然后,您尝试在return语句中引用form变量。

至于解决方法,这确实是您要决定的。 解决的方法取决于在请求方法不是POST情况下您希望代码执行的操作。

您几乎可以肯定要缩进这部分:

else:
    form = AddClientForm()

也就是说,在页面的初始GET上,使用空白客户端表单,然后在对页面进行POST时,使用请求POST数据填写表单对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM