![](/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.