Last active
December 14, 2016 14:34
-
-
Save shayh/7291015 to your computer and use it in GitHub Desktop.
bootstrap3 django-tables2
based on this gist https://gist.github.com/dyve/5458209
I created a template that works wtih https://github.com/dyve/django-bootstrap3
make sure you have 'django.core.context_processors.request' in your TEMPLATE_CONTEXT_PROCESSORS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.table-container th.asc:after { | |
content: '\0000a0\0025b2'; | |
} | |
.table-container th.desc:after { | |
content: '\0000a0\0025bc'; | |
} | |
.pagination { | |
text-align: center; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{% load querystring from django_tables2 %} | |
{% load trans blocktrans from i18n %} | |
{% load bootstrap3 %} | |
{% if table.page %} | |
<div class="table-container"> | |
{% endif %} | |
{% block table %} | |
<table class="table table-compact table-bordered"{% if table.attrs %} {{ table.attrs.as_html }}{% endif %}> | |
{% 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="{% cycle "odd" "even" %}"> | |
{% for column, cell in row.items %} | |
<td {{ column.attrs.td.as_html }}>{{ cell }}</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 %} | |
</table> | |
{% endblock table %} | |
{% if table.page %} | |
{% block pagination %} | |
{% bootstrap_pagination table.page url=request.get_full_path %} | |
{#{ table.page|pagination }#} | |
{% endblock pagination %} | |
{% endif %} |
Great thx !!
One Improvement from my side:
extend line:
{% bootstrap_pagination table.page url=request.get_full_path %}
to:
{% bootstrap_pagination table.page url=request.get_full_path parameter_name=table.prefixed_page_field %}
Than pagination works also if you use multiple tables on one page using the prefix attribute with table.
See:
http://django-tables2.readthedocs.org/en/latest/pages/query-string-fields.html
and:
http://django-bootstrap3.readthedocs.org/en/latest/templatetags.html#bootstrap-pagination
Very nice, thanks so much.
@startmat: the cleanest solution for a multiple tables issue. Thanks a lot.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Awesome! Thanks!