为什么django_tables2两次渲染同一个表?

时间:2017-11-15 17:37:12

标签: django django-tables2

我正在使用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 %}

enter image description here

修改

如果我注释掉{%render_table table%}行,那么我得到0个表,而不是2个。

1 个答案:

答案 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 %}

这给出了预期的结果。 enter image description here

相关问题