回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在使用Django开发一个web应用程序。当我尝试在我的web表单上运行它时,我收到了“字符串索引超出范围”错误。但是,当我将一个字典硬编码到python测试文件中时,使用相同的值可以很好地工作。在</p>
<p>以下是我的Django观点:</p>
<pre><code>def submitworkout(request):
#workoutinfo = workout(request.GET)
return render_to_response('home.html',{'infoprompt': workout(request.GET)},context_instance=RequestContext(request))
</code></pre>
<p>目标是:</p>
^{pr2}$
<p>现在这是我要通读的字典:</p>
<pre><code>addworkout =
{u'repinputboxes': [u'5', u'3'], u'weightinputboxes': [u'195', u'170'], u'numsets': [u'1', u'1'], u'exercisename': [u'Squat', u'Power Clean']}
</code></pre>
<p>以下是Django在错误中显示的本地变量:</p>
<pre><code>i=1
numsetcounter =0
getallreps = 1
</code></pre>
<p>希望你们能帮我解决问题。提前谢谢!在</p>
<p>编辑:回溯</p>
<pre><code>Environment:
Request Method: GET
Request URL: http://localhost:8000/submitworkout/?exercisename=Squat&numsets=1&weightinputboxes=195&repinputboxes=5&exercisename=Power+Clean&numsets=1&weightinputboxes=170&repinputboxes=3
Django Version: 1.3.1
Python Version: 2.7.0
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'authentication')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Traceback:
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "C:\Users\Chris\testdjango\fitness\views.py" in submitworkout
34. return render_to_response('home.html',{'infoprompt': workout(request.GET)},context_instance=RequestContext(request))
File "C:\Users\Chris\testdjango\fitness\tracking\models.py" in __init__
15. while numsetcounter < int(addworkout['numsets'][i]): # u'numsets': [u'1', u'2']
Exception Type: IndexError at /submitworkout/
Exception Value: string index out of range
</code></pre>