웹 응용 프로그램을 개발하는 데 장고를 사용하고 있습니다. 내가 시도하고 내 웹 양식에서 '범위 밖의 문자열 인덱스'오류를 받고 오전 실행하십시오. 그러나, 내가 파이썬 테스트 파일에 사전을 하드 코드하면 같은 값으로 잘 작동합니다.문자열 인덱스가 범위를 벗어났습니다. Python, Django
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']}
:
class workout():
def __init__(self,addworkout):
self.workout = collections.OrderedDict();
getallreps = 0
for i in range(len(addworkout['exercisename'])):
numsetcounter = 0;
self.workout[string.capwords(addworkout['exercisename'][i])] = []
while numsetcounter < int(addworkout['numsets'][i]):
# print self.workout[addworkout['exercisename'][i]]
self.workout[string.capwords(addworkout['exercisename'][i])].append([addworkout['weightinputboxes'][getallreps],addworkout['repinputboxes'][getallreps]])
#[
getallreps +=1
numsetcounter +=1
def getexercise(self,name):
try:
return self.workout[string.capwords(name)];
except:
return 'This exercise does not exist!'
지금이 내가 클래스를 통해 실행하는 데 노력하고있어 사전은 다음과 같습니다
def submitworkout(request):
#workoutinfo = workout(request.GET)
return render_to_response('home.html',{'infoprompt': workout(request.GET)},context_instance=RequestContext(request))
는 객체입니다 여기에
내 장고보기입니다
이고 여기 장고가 오류에 표시하는 로컬 변수는 다음과 같습니다.
i=1
numsetcounter =0
getallreps = 1
당신이 내 문제를 해결할 수 있도록 도와주세요. 미리 감사드립니다!
편집 : 역 추적
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
추적 대상은 어디입니까? –
@JoelCornett : "자취가 생겼거나 그런 일이 없었습니다!". 정확히 내 감정이야! – jdi
죄송합니다. 추가했습니다. –