Django - 与多个变量一起使用的一个模板

时间:2016-09-01 14:15:37

标签: django django-templates

我试图在HTML表格中显示故障单列表。该表具有各种标题以显示门票的各个方面。我想在我的项目中的一堆不同位置呈现同一个表。

我已经制作了/templates/shared/ticket_list.html的单个模板,其中显示了故障单列表,然后我{% include %}我需要显示此列表。很简单。

但是,我的项目中有几页我有一个Bootstrap tabbed div。我想在两个标签中显示此票证表,但是使用不同的票证集。这个HTML基本上要求我在同一个HTML页面上{% include %}两次我的表模板。

例如:

  • 标签1:"由用户创建" - 当前用户创建的故障单列表
  • 标签2:"分配给用户" - 分配给当前用户的票证列表

在视图中,我可能会有类似的内容:

created_by_ticks = Ticket.objects.filter(created_by = self.request.user)
assigned_to_ticks = Ticket.objects.filter(assigned_to = self.request.user)

问题是,在我的票证表模板中,我将如何呈现两个查询集,因为表本身可能需要单个变量名称,例如:

{% for t in tickets %}
<tr>...

{% endfor %}

但是传入两个故障单查询集,我现在有两个故障变量created_by_ticksassigned_to_ticks

我是如何使用该单一票证表模板,但使用多个变量或其他解决方案?

1 个答案:

答案 0 :(得分:2)

您可以使用include标记的with功能:

{% include 'shared/ticket_list.html' with tickets=created_by_ticks %}
{% include 'shared/ticket_list.html' with tickets=assigned_to_ticks %}