Django-Template没有显示我传递的整个上下文列表
这让我快发疯了。我在shell中运行了我的逻辑,我正在填充的列表包含了应该传递给模板的所有值,但当呈现模板时,它只显示了每个角色迭代的第一次传递 shell显示8个对象被放置到列表中,我所做的就是传递要在模板中渲染的对象。我在这两个测试用例中使用的用户是我的管理员用户,分配给“finance”和“IT”角色,因此它显示了所有8个对象。前5个对象是“IT”对象,其余3个是“财务” 这种行为的原因是什么?为什么它不会显示网页上的所有行? 我附加了一个实际页面呈现的图像。非常感谢。 壳 assist_req_list.htmlDjango-Template没有显示我传递的整个上下文列表,django,django-models,django-templates,django-views,Django,Django Models,Django Templates,Django Views,这让我快发疯了。我在shell中运行了我的逻辑,我正在填充的列表包含了应该传递给模板的所有值,但当呈现模板时,它只显示了每个角色迭代的第一次传递 shell显示8个对象被放置到列表中,我所做的就是传递要在模板中渲染的对象。我在这两个测试用例中使用的用户是我的管理员用户,分配给“finance”和“IT”角色,因此它显示了所有8个对象。前5个对象是“IT”对象,其余3个是“财务” 这种行为的原因是什么?为什么它不会显示网页上的所有行? 我附加了一个实际页面呈现的图像。非常感谢。 壳 assist
你有一个缩进错误;您的返回在外部for循环中,因此将在第一次迭代后触发。我知道这一定是愚蠢的事情,谢谢您借给我您的眼睛,我快疯了!
>>> for each_role in all_roles:
... if each_role in user_roles:
... list_of_reqs = RequisitionLine.objects.filter(assistance=each_role.id)
... for line in list_of_reqs:
... parent = line.parent_req
... if parent in req_header_list:
... continue
... else:
... req_header_list.append(parent)
... for i in range(len(req_header_list)):
... hold_line_count = RequisitionLine.objects.filter(Q(parent_req=req_header_list[i]) & Q(assistance=each_role.id))
... for j in hold_line_count:
... req_header_line_list.append(j)
... print(j)
...
RequisitionLine object (30)
RequisitionLine object (32)
RequisitionLine object (33)
RequisitionLine object (34)
RequisitionLine object (39)
RequisitionLine object (29)
RequisitionLine object (37)
RequisitionLine object (38)
>>>
>>> req_header_line_list
[<RequisitionLine: RequisitionLine object (30)>, <RequisitionLine: RequisitionLine object (32)>, <RequisitionLine: RequisitionLine object (33)>, <RequisitionLine: RequisitionLine object (34)>, <RequisitionLine: RequisitionLine object (39)>, <RequisitionLine: RequisitionLine object (29)>, <RequisitionLine: RequisitionLine object (37)>, <RequisitionLine: RequisitionLine object (38)>]
>>>
def assistance_list(request):
req_header_list = []
req_header_line_list = []
user = CustomUser.objects.get(username=request.user)
all_roles = UserRoles.objects.all()
user_roles = user.roles.all()
for each_role in all_roles:
if each_role in user_roles:
# for u_role in user_roles:
# if each_role == u_role:
list_of_reqs = RequisitionLine.objects.filter(assistance=each_role.id)
for line in list_of_reqs:
parent = line.parent_req
if parent in req_header_list:
continue
else:
req_header_list.append(parent)
for i in range(len(req_header_list)):
hold_line_count = RequisitionLine.objects.filter(Q(parent_req=req_header_list[i]) & Q(assistance=each_role.id))
for j in hold_line_count:
req_header_line_list.append(j)
return render(request, 'req/assist_req_list.html', {'req_header_line_list':req_header_line_list})
<h1>Assist Requisition</h1>
<table>
{% for requisition in req_header_line_list %}
<tr>
<td>
<a href="{% url 'requisition:assist_req_seq' requisition.parent_req.id requisition.sequence %}">{{ requisition }}</a>
</td>
</tr>
{% endfor %}
</table>