Модуль DataTable:

(источник)

DataTable позволяет преобразовать стандартные таблицы в DataTable.

Для начала, необходимо HTML шаблон, в раздел "head" (верхнюю часть сайта, шапку) установить следующий код:

<link rel="stylesheet" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css">

Затем, в нужное место вставить такую таблицу:

<table id="myTable" class="table">
    <thead>
        <tr>
            <th>Код товара:</th>
            <th>Название:</th>
            <th>Цена:</th>
        </tr>
    </thead>
    <tbody>
        {% for product in all_products %}
            <tr>
                <td>
                    {{ product.product_code }}
                </td>
                <td>
                    {{ product.brand_name.brand }}
                </td>
                <td>
                    {{ product.price }}
                </td>
            </tr>
        {% endfor %}
    </tbody>
    <tfoot>
        <tr>
            <th>Код товара:</th>
            <th>Название:</th>
            <th>Цена:</th>
        </tr>
    </tfoot>
</table>

Затем, в самую нижнюю часть сайта, после объявления всех скриптов, нужно вставить следующий код:

<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<script>
    $(document).ready(function(){

        var table = $('#myTable').DataTable({
            "order": [[ 3, "asc" ]]
        });

    });
</script>

Сортировка значений по столбцу "Price" посредством (asc / desc)



Отображение или Скрытие колонок таблицы через Checbox

Для этого, в шаблон страницы всавьте CheckBox - следующим кодом:

<input type="checkbox" id="checbox_hiding_column" style="margin-bottom: 30px;" checked> Показать/скрыть колонку "Прайс"

А затем, в скрипт добавьте следующий код:

$("#checbox_hiding_column_04").on("change", function(){
    var is_checked = $(this).prop("checked");
    table.column( 4 ).visible( is_checked );
});

И поле этого, у вас получится вот такой полный скрипт:

<script>
    $(document).ready(function(){

        var table = $('#myTable').DataTable({
            "order": [[ 3, "asc" ]]
        });

        $("#checbox_hiding_column_04").on("change", function(){
            var is_checked = $(this).prop("checked");
            table.column( 4 ).visible( is_checked );
        });
    });
</script>


Перевод DataTable на любой язык:

(источник)

Для этого, в скрипт добавьте следующий код:

var table = $('#myTable').DataTable({
    "order": [[ 3, "asc" ]],
    "language": {
        "url": "//cdn.datatables.net/plug-ins/1.10.19/i18n/Russian.json"
    }
});

И поле этого, у вас получится вот такой полный скрипт:

<script>
    $(document).ready(function(){

        var table = $('#myTable').DataTable({
            "order": [[ 3, "asc" ]],
            "language": {
                "url": "//cdn.datatables.net/plug-ins/1.10.19/i18n/Russian.json"
            }
        });
    });
</script>

Перечень всех возможных к установке языков можно посмотреть здесь.






Другие материалы по Django:

Общая информация по Django
Модуль "AllAuth"
Модуль "DataTable"
Логирование в Python и Django