Не все мои колонки в 'render_table' упорядочиваются, что я могу сделать?
Я использую render_table из django_tables2 для написания таблицы, которая содержит 4 заголовка (Title, Delete, View и Export), заголовок упорядочивается, а остальные нет, проблема в том, что render_table использует класс orderable во всех элементах, как я могу это изменить?
В HTML я вызываю функцию следующим образом :
<!-- table -->
<div class="mt-3">
{% render_table table %}
</div>
а это мой скрипт table.py :
ENTRIES_TEMPLATE = "<a href='{% url 'form-entries' form=record.pk %}' class='btn btn-outline-info btn-small'><i class='fas fa-file'></i></a>"
DELETE_TEMPLATE = "<a href='{% url 'dashboard-topic-delete' pk=record.pk %}' class='btn btn-outline-danger btn-small'><i class='fas fa-trash'></i></a>"
VIEW_TEMPLATE = "<a href='{{record.pk}}' class='btn btn-outline-info btn-small'><i class='fas fa-edit'></i></a>"
EXPORT_TEMPLATE = """
<div class="btn-group">
<button type="button" class="btn btn-outline-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Export
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="{{record.get_export_url}}?type=CSV"><i class='fas fa-file-csv'></i> csv</a>
<a class="dropdown-item" href="{{record.get_export_url}}?type=XLS"><i class='fas fa-file-excel'></i> xlsx</a>
</div>
</div>
"""
# # id = tables.LinkColumn('forms:form-update',kwargs={"pk":A("pk")})
responses = tables.TemplateColumn(ENTRIES_TEMPLATE)
delete = tables.TemplateColumn(DELETE_TEMPLATE)
view = tables.TemplateColumn(VIEW_TEMPLATE)
export = tables.TemplateColumn(EXPORT_TEMPLATE)
class Meta:
model = Topic
template_name = "django_tables2/bootstrap.html"
fields = ("Title","view","responses","delete","export")
(Только ENTRIES_TEMPLATE должен быть заказываемым)
Вы можете установить orderable=False
для столбцов, которые вы не хотите, чтобы были заказываемыми:
# responses will be orderable
responses = tables.TemplateColumn(ENTRIES_TEMPLATE)
# the following three fields won't be orderable
delete = tables.TemplateColumn(DELETE_TEMPLATE, orderable=False)
view = tables.TemplateColumn(VIEW_TEMPLATE, orderable=False)
export = tables.TemplateColumn(EXPORT_TEMPLATE, orderable=False)
Для получения дополнительной информации смотрите django-tables2 docs on ordering.