![](/img/trans.png)
[英]"UnboundLocalError: local variable 'status' referenced before assignment" and "status_1" is not accessed by Pylance
[英]UnboundLocalError, local variable accessed before assignment, but not?
我正在Django中做一些非常简单的事情,并且遇到了这个非常奇怪的错误:
UnboundLocalError at /me/profile/edit/
local variable 'form' referenced before assignment
这是我的代码:
if request.method == "POST":
form = MyForm(request.POST)
if form.is_valid():
print "Yes"
else:
form = MyForm(user=request.user)
为什么这段代码会引发该错误? 这很简单,但是如果我取出if form.is_valid()
东西,它就可以工作。 怎么了
解决此问题的最简单方法是删除else子句:
form = MyForm(request.POST or None)
if request.method == 'POST':
if form.is_valid():
print 'Yes'
丹尼·格林菲尔德(Danny Greenfeld)的“高级Django表单用法”演示文稿就是一个很好的例子: http : //www.slideshare.net/pydanny/advanced-django-forms-usage (幻灯片33是我具体指的)。
如前所述,代码看起来是正确的,因此我希望在发布问题时会丢失一些内容(也许第二个if语句并未真正缩进)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.