0
我想用嵌套鍵創建一個defaultdict。這是我寫的視圖,但顯然多個鍵在defaultdict中不起作用。如何在defaultdict中使用兩個鍵?
def routine_view(request, klass_id):
days = Routine.DAYS
periods = Routine.PERIODS
class_details = defaultdict(list)
classes = Routine.objects.filter(klass_id=klass_id)
for cls in classes:
class_details[cls.day][cls.period].append(cls)
context = {
"days": days,
"periods": periods,
"class_details": class_details
}
return render(request, "routine/routine_view.html", context)
當我運行這個觀點我得到以下錯誤:
IndexError at /routine/1/
list index out of range
我想爲一個類做一個例程。所以第一個關鍵是一天(太陽,週一等),第二個關鍵是週期(第一,第二等)。在我的模板中,我試圖通過循環訪問'class_details'變量來訪問每個期間的數據,例如'{{class_details.day.period}}'。 – MiniGunnR
我已經使用您提供的代碼,模板不顯示任何內容。 – MiniGunnR
但是這是一個完全不同的問題,在此之前已經回答了很多次:在Django模板中,'class_details.day'將始終引用文字鍵「day」。 –