欲生成用於的HttpResponse並且爲了建立它i'm使用嵌套的「for」結構的JSON類型對象。我寫下了一些代碼,試着用我的python解釋器,但是當我在我的django視圖上使用它時,它拒絕正常工作。嵌套「爲」在Django視圖不會致使工作
我的結構是這樣的:
tarifas = ['2.0A','2.0DHA','2.0DHSA']
terminos = ['Dia','Hora','GEN','NOC','VHC','COFGEN','COFNOC','COFVHC','PMHGEN','PMHNOC','PMHVHC','SAHGEN','SAHNOC','SAHVHC','FOMGEN','FOMNOC','FOMVHC','FOSGEN','FOSNOC','FOSVHC','INTGEN','INTNOC','INTVHC','PCAPGEN','PCAPNOC','PCAPVHC','TEUGEN','TEUNOC','TEUVHC']
data_json = {}
data_json['datos_TOT'] = []
data_json['datos_TEU'] = []
data_json['fecha'] = fecha
for i in range(3):
data_json['datos_TOT'].append({})
data_json['datos_TEU'].append({})
data_json['datos_TOT'][i]['tarifa'] = tarifas[i]
data_json['datos_TEU'][i]['tarifa'] = tarifas[i]
for j in range(0,24):
data_json['datos_TEU'][i]['values'] = []
data_json['datos_TEU'][i]['values'].append({})
data_json['datos_TEU'][i]['values'][j]['periodo'] = "{0}-{1}".format(j,j+1)
return HttpResponse(json.dumps(data_json), content_type="application/json")
實際上它有一個更深入的水平,但作爲第二鴕鳥政策工作,我didn't把它放在這裏。
有了這個嵌套結構,我期待一個JSON對象和(b-a)條目在第一個級別中有(d-c)個條目。但是我看到的是第二個循環只返回最後一個值!所以,如果「j」循環從0到24,它將只返回「23」,而不會更多。似乎它只是一個「圈」。
視圖中的嵌套循環是否有限制?如果有的話,我可以把它們放在哪裏?我試圖保持models.py免於邏輯。
你都清楚地做錯了什麼。爲我們提供更多的代碼。 – ozgur 2015-02-07 22:06:00
即使嵌套for循環在Python中沒問題,Django也不允許在視圖中使用過多的縮進級別......只是在開玩笑!請張貼更多的代碼,因爲這對於嵌套的for循環來說並不是一個問題。儘管如此,儘量保持邏輯不在你的模型中,這很好! – 2015-02-07 22:18:47
我剛剛添加了一些代碼。我保持第三個循環,直到我知道什麼是錯的。 – XcodeX 2015-02-07 22:21:00