我正在使用django_tables2来创建一些表。我的应用程序被称为“导演”,我有一个基本模板,然后是一个继承它的子模板。代码大部分按预期工作 - 子模板正确地从父级继承divss和stuff并且样式是正确的,但是孩子也第二次输出相同的表,这次没有来自父级的样式。我无法弄清楚为什么第二张桌子会被生成。
这是基本模板。
#director_table.html
{% block content %}
<div class="container">
<div class="row">
<div class="col-lg-12 mb-4 mt-4">
<div class="card h-100">
<div class="card-header">List</div>
<div class="card-body">
<h4 class="card-title"></h4>
<h6 class="card-subtitle"></h6>
{% block table_stuff %}
{% endblock %}
</div>
</div>
</div>
</div>
</div>
{% endblock %}
这是孩子。
{% extends 'director/director_table.html' %}
{% load render_table from django_tables2 %}
{% block content %}
{{ block.super }}
{% block table_stuff %}
{% render_table table %}
{% endblock %}
{% endblock %}
修改
如果我注释掉{%render_table table%}行,那么我得到0个表,而不是2个。
答案 0 :(得分:1)
解决了它。解决方案是将css / bootstrap东西分成更多块。
父模板:
{% block content %}
{% block top %}
<div class="container">
<div class="row">
<div class="col-lg-12 mb-4 mt-4">
<div class="card h-100">
<div class="card-header">List</div>
<div class="card-body">
<h4 class="card-title"></h4>
<h6 class="card-subtitle"></h6>
{% endblock %}
{% block table_stuff %}
{% endblock %}
{% block bottom %}
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% endblock %}
和孩子:
{% extends 'director/director_table.html' %}
{% load render_table from django_tables2 %}
{% block content %}
{% block top %}
{{ block.super }}
{% endblock %}
{% block table_stuff %}
{% render_table table %}
{% endblock %}
{% block bottom %}
{{block.super}}
{% endblock %}
{% endblock %}