在我的一个页面中,我有几张桌子。这些表具有相同的结构,但颜色和显示的数据不同。
示例表可能如下所示:
<div class="container reusable-table">
<h4 class="table_title">{{ table_title }}</h4>
{% for item in items %}
<div class="container row">
<div class="container col">
<h4>{{ item.date }}</h4>
</div>
<div class="container col">
<h4>{{ item.time }}</h4>
</div>
<div class="container col">
<h4>{{ item.title }}</h4>
</div>
<div class="container col">
<h4>{{ item.description }}</h4>
</div>
<div class="container col">
<h4>{{ item.price }}</h4>
</div>
</div>
{% endfor %}
</div>
我的一个选择是每次都重复表格的html和css代码。这样我冒着错误和很多重复代码的风险。
从我的角度来看,我需要找到一种替代方法:
table_title
{% for item in items %}
根据下面的评论和答案,也可以在Assign variables to child template in {% include %} tag Django上,您可以使用以下内容替换html元素和数据:
{% include "new_table.html" with table_title="A Title" and items=new_items %}
这留下了颜色方面,或更好地说明了css方面。
我正在寻找一种方法来提高效率。
答案 0 :(得分:2)
您可以为表创建一个HTML文件,并在{%include%}
中包含HTML表格{% include "mytable.html" with items=<your_items> %}
试试这个......
答案 1 :(得分:0)
您可以将表格设为一个html代码段模板,您可以将其包含在其他模板中,以使此类内容易于管理。请参阅the docs on include。
假设您有item_table.html
。
<div class="container reusable-table">
<h4 class="table_title">{{ table_title }}</h4>
{% for item in items %}
<div class="container row">
<div class="container col">
<h4>{{ item.date }}</h4>
</div>
<div class="container col">
<h4>{{ item.time }}</h4>
</div>
<div class="container col">
<h4>{{ item.title }}</h4>
</div>
<div class="container col">
<h4>{{ item.description }}</h4>
</div>
<div class="container col">
<h4>{{ item.price }}</h4>
</div>
</div>
{% endfor %}
</div>
假设您有一个视图,它提供了一个项目列表,如
# ...
return render('some_template.html', context=dict(some_items=something))
在您的some_template.html
中,您可以包含 item_table.html
并传递适当的值。例如,项目列表some_items
可以成为所包含模板中的items
变量。
{% include "item_table.html" with table_title="My Title" items=some_items %}