0
我有以下視圖和我發現它不可能通過一個模板顯示:Django的:多維詞典顯示在模板
sm = request.session.get('active_semester')
semester_dates = SemesterDates.objects.filter(semester=sm)
schedule = Schedule.objects.filter(semester=sm)
student_enrolls = StudentEnroll.objects.filter(schedule__semester = sm).values_list('schedule__pk', 'student__family_member__first_name', 'student__family_member__last_name').order_by('student__family_member__last_name')
schedule_array={}
for a in schedule:
schedule_array[a.id]={'course':a.course_catalog.course_name, 'students': [], 'teachers': []}
for (pk, fname, lname) in student_enrolls:
schedule_array[pk]['students'].append(fname + ' ' + lame)
這將產生以下輸出。請注意,有兩個「Arduino」類,因爲它們在不同的時間舉行。所以,我使用Schedule.pk作爲字典鍵來保持它們的分離。這樣,我的班級列表對於本課程的每個實例都是不同的。
{2L:
{
'students': [u'Jessica Ryan', u'Annie Ryan'],
'course': u'Arduino Programming',
'teachers': []
},
4L:
{
'students': [],
'course': u'Lego Animation 3rd-4th Grade',
'teachers': []
},
5L:
{
'students': [],
'course': u'Life skills - card games',
'teachers': []
},
6L:
{
'students': [],
'course': u'test',
'teachers': []
},
7L: {
'students': [u'Mark Ryan'],
'course': u'Arduino Programming',
'teachers': []
}
}
在我的模板中,我有以下幾點。這不起作用,但讓你看到我想要做的事情。
<table class="table table-hover">
{% for e in schedule %}
<tr class="info">
<td><h3>{{ e.course_catalog }}</h3></td>
</tr>
<tr>
<td>
{% for key in schedule_array.items|lookup:0 %}
<h5>Dict Key: {{ key }} & Value: {{ value }} {{e.pk}} </h5>
{% for k2 in key.items %}
k2: {{k2}} Students: {{k2.students}}<br>
{% for k3 in k2 %}
{% for s in k3 %}
k3:{{s.students}}
{% endfor %}
{% endfor %}
endfor 2
{% endfor %}
endfor 1
{% endfor %}
</td>
</tr>
{% endfor %}
</table>
我想要做的是循環通過我的日程安排對象。然後,我想查看schedule_array字典中的主鍵(e.pk)。因此,我想循環瀏覽學生名單,然後再與老師一起完成。我無法得到這個工作。無論我嘗試什麼。我知道我做錯了,但找不到完成它的正確方法。
你可以試試這個代碼,我發現,http://stackoverflow.com/a/12860787/3027579 – Rafael 2014-09-29 17:24:54
我已經試過了,但不能讓它開始工作。 – acer123 2014-09-30 14:42:02