-
-
Save SonOfLilit/9600295 to your computer and use it in GitHub Desktop.
.table-container th.asc:after { | |
content: '\0000a0\0025b2'; | |
} | |
.table-container th.desc:after { | |
content: '\0000a0\0025bc'; | |
} | |
.pagination { | |
text-align: center; | |
} |
{% 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-striped"{% 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 %} | |
{% endblock pagination %} | |
{% endif %} |
Where does the bootstrap-tables2.css go ?
The bootstrap_pagination tag needs the full URL in order to properly sort columns between pages:
{% bootstrap_pagination table.page url=request.get_full_path %}
This assumes you have "django.core.context_processors.request"
in settings.TEMPLATE_CONTEXT_PROCESSORS
Note that without applying the BoostedSal's fix, you won't be able to implement the "search" capability - see my post here:
http://stackoverflow.com/q/30219599/1091116
Use the updated version of the script: https://gist.github.com/d33tah/db6cc9e35a46ad5a993f
If you have multiple tables on one page with pagination change this:
{% bootstrap_pagination table.page url=request.get_full_path %}
To this:
{% bootstrap_pagination table.page url=request.get_full_path parameter_name=table.prefixed_page_field %}
Looks like with
<table class="table table-striped"{% if table.attrs %} {{ table.attrs.as_html }}{% endif %}>
we can't apply customized attrs in class Meta.
So I just changed it back to the original one:
<table{% if table.attrs %} {{ table.attrs.as_html }}{% endif %}>
Then I need to give full class values to attrs in class Meta, for example: attrs = {'class': 'table table-striped table-boardered table-hover'}
Changes: realigned whitespace like it was in django_tables2, for easier diffing; fixed pagination and loads to use bootstrap3.