[英]UnboundLocalError- local variable 'term_list' referenced before assignment
[英]UnboundLocalError- local variable referenced before assignment - Django
你們這周給了我很大的幫助,真是太棒了,希望您能幫我解決這個問題。 我嘗試查看網站上有關此類錯誤的其他帖子,但沒有一個能真正幫到我。 基本上,我是在一頁上提交表單,而POST數據將轉到生成表單的視圖。 發送POST數據后,我想重定向到另一個頁面,但是出現此錯誤。
def test(request):
if request.method == 'POST':
form = SubmitForm(request.POST) # A form bound to the POST data
if form.is_valid():
lat = form.cleaned_data['lat']
lng = form.cleaned_data['lng']
title = form.cleaned_data['title']
story = form.cleaned_data['story']
ctxt = {
'lat':lat,
'lng':lng,
'title':title,
'story':story,
}
return render_to_response('home.html', ctxt, context_instance=RequestContext(request))
else:
import datetime
now = datetime.datetime.now()
form = SubmitForm()
latest_marks = Marker.objects.all().order_by('-submitted')[0:10]
ctxt = {
'marks':latest_marks,
'now':now.date(),
'form': form,
}
return render_to_response('test.html', ctxt, context_instance=RequestContext(request))
我得到的錯誤是
local variable 'ctxt' referenced before assignment
追溯是
Environment:
Request Method: POST
Request URL: http://localhost:8000/test/
Django Version: 1.3
Python Version: 2.6.5
Installed Applications:
['django.contrib.staticfiles',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'userena',
'guardian',
'easy_thumbnails',
'south',
'database',
'accounts',
'socialregistration']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'userena.middleware.UserenaLocaleMiddleware',
'socialregistration.middleware.FacebookMiddleware')
Traceback:
File "/home/wluw/dev/chicagomap/lib/python2.6/site-packages/Django-1.3-py2.6.egg/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/home/wluw/dev/chicagomap/chicagomap/../chicagomap/database/views.py" in test
58. return render_to_response('test.html', ctxt, context_instance=RequestContext(request))
Exception Type: UnboundLocalError at /test/
Exception Value: local variable 'ctxt' referenced before assignment
任何幫助將不勝感激。 謝謝。
發生這種情況是因為request.method == 'POST'
為True(第一個條件通過),但form.is_valid()
為False(第二個嵌套條件失敗),這意味着運行else卻未定義ctxt之后的最終返回。
也許您希望將最終收益縮進作為else
子句的一部分?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.