【问题标题】:How do I remove the bottom bullet from django table如何从 django 表中删除底部项目符号
【发布时间】:2015-01-05 14:56:34
【问题描述】:

我使用 django_table2 生成下表

Semester    Actual  Prediction
Spring 2014     209     199

    *1 coe

学期、实际和预测是列名。我的桌子正是我需要的。但是,在每个表格的底部,我总是有模型中的项目数。我不想要那颗子弹。我知道它在 django_table2 中的默认值。有没有办法删除这个?下面是另一个例子:

Department  Semester        Actual  Prediction
MIE         2014 Spring     202     210
MIE         2015 Fall       213     200
MIE         2015 Spring     11      12

*3 departments

【问题讨论】:

  • 你不能只通过 css 隐藏它吗?
  • 我想我可以。但这是标题吗?
  • 我不知道。您必须检查元素

标签: python django django-models django-templates django-views


【解决方案1】:

(对我而言)最简单的方法是在您的模板目录中创建此路径 (your_templates_dir/django_tables2/tables.html),并包含以下内容:

{% spaceless %}
{% load django_tables2 %}
{% load i18n %}
{% if table.page %}
<div class="table-container">
{% endif %}
{% block table %}
<table{% if table.attrs %} {{ table.attrs.as_html }}{% endif %}>
    {% nospaceless %}
    {% block table.thead %}
    <thead>
        <tr>
        {% for column in table.columns %}
            {% if column.orderable %}
            <th {{ column.attrs.th.as_html }}><a href="{% querystring table.prefixed_order_by_field=column.order_by_alias.next %}">{{ column.header }}</a></th>
            {% else %}
            <th {{ column.attrs.th.as_html }}>{{ column.header }}</th>
            {% endif %}
        {% endfor %}
        </tr>
    </thead>
    {% endblock table.thead %}
    {% block table.tbody %}
    <tbody>
        {% for row in table.page.object_list|default:table.rows %} {# support pagination #}
        {% block table.tbody.row %}
        <tr class="{{ forloop.counter|divisibleby:2|yesno:"even,odd" }}"> {# avoid cycle for Django 1.2-1.6 compatibility #}
            {% for column, cell in row.items %}
                <td {{ column.attrs.td.as_html }}>{% if column.localize == None %}{{ cell }}{% else %}{% if column.localize %}{{ cell|localize }}{% else %}{{ cell|unlocalize }}{% endif %}{% endif %}</td>
            {% endfor %}
        </tr>
        {% endblock table.tbody.row %}
        {% empty %}
        {% if table.empty_text %}
        {% block table.tbody.empty_text %}
        <tr><td colspan="{{ table.columns|length }}">{{ table.empty_text }}</td></tr>
        {% endblock table.tbody.empty_text %}
        {% endif %}
        {% endfor %}
    </tbody>
    {% endblock table.tbody %}
    {% block table.tfoot %}
    <tfoot></tfoot>
    {% endblock table.tfoot %}
    {% endnospaceless %}
</table>
{% endblock table %}

{% if table.page %}
{% with table.page.paginator.count as total %}
{% with table.page.object_list|length as count %}
{% block pagination %}
<ul class="pagination">
    {% if table.page.has_previous %}
    {% nospaceless %}{% block pagination.previous %}<li class="previous"><a href="{% querystring table.prefixed_page_field=table.page.previous_page_number %}">{% trans "Previous" %}</a></li>{% endblock pagination.previous %}{% endnospaceless %}
    {% endif %}

    {% if table.page.has_previous or table.page.has_next %}
    {% nospaceless %}{% block pagination.current %}<li class="current">{% blocktrans with table.page.number as current and table.paginator.num_pages as total %}Page {{ current }} of {{ total }}{% endblocktrans %}</li>{% endblock pagination.current %}{% endnospaceless %}
    {% endif %}

    {% if table.page.has_next %}
    {% nospaceless %}{% block pagination.next %}<li class="next"><a href="{% querystring table.prefixed_page_field=table.page.next_page_number %}">{% trans "Next" %}</a></li>{% endblock pagination.next %}{% endnospaceless %}
    {% endif %}
</ul>
{% endblock pagination %}
{% endwith %}
{% endwith %}
</div>
{% endif %}
{% endspaceless %}

此方法将覆盖您通过 django_table2 模板标签创建的所有表,并且不需要与即将发布的 django_table2 版本一起使用,但如果您想保留特定版本(在我的情况下为 0.15.0 )。

另一种更具可扩展性的方法应该适用于未来的版本(我推荐)是通过子类化 Table,如 django-tables2 documentation 中所述。

【讨论】:

    猜你喜欢
    • 2021-06-06
    • 2023-03-12
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 2018-12-11
    • 1970-01-01
    相关资源
    最近更新 更多