更新0
This link 描述了302代码,但我无法理解技术语言。 302代码是否在self.response.out.write(
之后,但模板unexpected.html
从未被触发是否重要?这是我可以使用最多的部分。
INFO 2012-09-24 01:15:10,182 dev_appserver.py:2967] "POST /reserve/Rogers/1 HTTP/1.1" 302 -
我担心除了self.response.out.write(
之外的其他一些代码必须用于unexpected.html
或者我使用条件的结构存在缺陷。但是,我不希望任何人阅读我的代码的细节。
更新0
更新1
一行代码是额外的,并在我的实际代码中被注释掉,已被删除。巧合的是,这是一个部分if
声明,更多地混淆了事情。
更新1
更新2
我使用下面的代码使用不同的a,b,c,d值,并验证所有分支都按预期工作。所以我相信我的代码结构不是问题。我想我需要进一步了解self.response.out.write(
进程。
a=3
b=3
c=5
d=6
if c<d:
print "c<d"
if a<b:
print "a<b"
elif a==b:
print "a=b"
else:
print "not a<=b"
print "not a b"
更新2
此代码有一对嵌套的for循环,包含if / elif / elif / elif / else。第一个if包含一个if,它依次包含if,if / else和无条件短语。为简洁起见,我省略了几行。
关注从第{10}行开始的self.response.out.write(
,以及两条相似的行,其中约7行也开始self.response.out.write(
。这些行都应该将用户发送到名为unexpected.html
的模板,建议用户按下“确定”按钮,以便在某处修改输入中的错误。
问题是我收到302错误,处理继续到此代码正下方的代码。
我的条件有什么问题,或者是什么?
for courtname in courtnames:
for time in times:
if name == hiddenname:
pass
elif name != hiddenname and hiddenname == "":
#check early and late
if (res-utime)<timedelta(hours=minBefore[1]):
template_values = {'trans':trans,'location_id':location_id}
path = os.path.join(TEMPLATE_DIR, 'unexpected.html')
self.response.out.write(template.render(path, \
template_values))
if endtime.endTime<[utime.hour,utime.minute]:
if (res-utime)>timedelta(days=1+maxBefore[0], \
hours=maxBefore[1],maxutes=maxBefore[2]):
template_values = {'trans':trans,'location_id':location_id}
path = os.path.join(TEMPLATE_DIR, 'unexpected.html')
self.response.out.write(template.render(path, \
template_values))
else:
if (res-utime)>timedelta(days=maxBefore[0], \
hours=maxBefore[1],minutes=maxBefore[2]):
template_values = {'trans':trans,'location_id':location_id}
path = os.path.join(TEMPLATE_DIR, 'unexpected.html')
self.response.out.write(template.render(path, \
template_values))
tempres.append([time, int(year), int(intMonth), \
int(intWeekday), name,hiddenname,court_id, \
weekday,weekday_key,int(day),0])
elif name != hiddenname and name!="":
#check early and late
conflict = True
tempres.append([time, int(year), int(intMonth), \
int(intWeekday), name,hiddenname,court_id, \
weekday,weekday_key,int(day),1])
elif hiddenname != "" and name == "":
conflict = True
tempres.append([time, int(year), int(intMonth), \
int(intWeekday), name,hiddenname,court_id, \
weekday,weekday_key,int(day),2])
else:
pass