django - 1 个表格行中有两个 forloop
问题描述
<table>
{% for sensie in teacher %}
<tr style='height:19px;'>
<th id="703183278R34" style="height: 19px;" class="row-headers-background">
<div class="row-header-wrapper" style="line-height: 19px;">35</div>
</th>
<td class="s46"></td>
<td class="s51" colspan="3">{{sensie.Subjects}}</td>
<td class="s51" colspan="4">{{sensie.Employee_Users}}</td>
{% endfor %}
{% for room in roomsched %}
<td class="s51" colspan="6">{{room.Classroom}}-{{room.Day_Name}}</td>
</tr>
{% endfor %}
</table>
\视图
teacher = SubjectSectionTeacher.objects.filter(Education_Levels__in=studentenroll.values_list('Education_Levels'))
roomsched = SubjectRoomSchedule.objects.filter(Subject_Section_Teacher__in=teacher)
return render(request, 'Homepage/enrollmentrecords.html',{,"teacher":teacher,"roomsched":roomsched})
我如何使它在表格行中正确格式化,就像在下面显示的示例中一样。请帮我....
Subject Teacher Room
math teachername room512
这是我的模型,
class SubjectRoomSchedule(models.Model):
Subject_Section_Teacher = models.ForeignKey(SubjectSectionTeacher, related_name='+', on_delete=models.CASCADE,null=True)
Classroom =models.ForeignKey(Room, related_name='+', on_delete=models.CASCADE,null=True)
class SubjectSectionTeacher(models.Model):
School_Year = models.ForeignKey(SchoolYear, related_name='+', on_delete=models.CASCADE,null=True)
Education_Levels = models.ForeignKey(EducationLevel, related_name='+', on_delete=models.CASCADE,blank=True)
Courses= models.ForeignKey(Course, related_name='+', on_delete=models.CASCADE,null=True,blank=True)
Sections= models.ForeignKey(Section, related_name='+', on_delete=models.CASCADE,null=True)
Subjects= models.ForeignKey(Subject, related_name='+', on_delete=models.CASCADE,null=True)
Employee_Users= models.ForeignKey(EmployeeUser, related_name='+', on_delete=models.CASCADE,null=True)
解决方案
您的标记存在几个问题:
- 元素的数量必须与
th
列的数量一样多(多达td
) - 表头(
th
元素)当然在循环之外 - 表头只显示一次 - 因此,您必须遍历行
tr
,并且它的所有子元素都在循环中,其余的必须在外面 - 您不应该通过内部循环将单元格动态添加到行中,因为这些行可能包含不同数量的列数 - 因此我更改了您的代码以将房间附加到逗号分隔的列表中。
<table>
<tr>
<th></th>
<th>Subject</th>
<th>Teacher</th>
<th>Rooms</th>
</tr>
{% for sensie in teacher %}
<tr style='height:19px;'>
<td class="s46"></td>
<td class="s51" colspan="3">{{sensie.Subjects}}</td>
<td class="s51" colspan="4">{{sensie.Employee_Users}}</td>
<td class="s51" colspan="6">
{% for room in roomsched %}
{{room.Classroom}}-{{room.Day_Name}}{% if not forloop.last %},{% endif %}
{% endfor %}
</td>
</tr>
{% endfor %}
</table>
推荐阅读
- c# - 如何在 Razor View 中获取统计信息
- javascript - 按另一个 MongoDB 结果排序 MongoDB 结果返回 [null, null, null]
- java - java mail-如何发送邮件,其中消息正文是java类中方法的返回表值
- javascript - 我想将数组值存储在隐藏的输入字段中
- php - Laravel 活动日志在更新时不起作用
- flutter - 在 Google Maps Flutter 中为折线制作动画
- onesignal - 错误:找不到符号导入 com.onesignal.OSNotificationOpenResult;
- swift - 如何快速引用结构/类中的类
- kotlin - Kotlin 高阶函数尚不支持对变量的引用
- javascript - Window.open() 中的两种通信方式