Как генерировать динамические строки на странице на основе ответа js-запроса? (Django Template / HTML)

Можно ли добавлять строки с данными в HTML-таблицу в ответ на JavaScript-запрос, не делая постбэк страницы?

Django: 3.1.7

Я хочу написать отдельный HTML файл (как файл, который мы можем использовать с тегом include) для кода, чтобы мне не пришлось добавлять html всей таблицы в строку HTML.

На данный момент я добавляю HTML путем преобразования в конкатенацию строк.

Примечание: Нужно решение без постбэка страницы.

Оцените django-rest-framework-datatables - здесь вы можете использовать библиотеку DataTable js и DRF для построения динамических таблиц на фронт-энде.

Согласно документации, вы можете использовать этот простой js-код для создания DataTable, если у вас настроена конечная точка DRF. Это дает все преимущества пагинации, упорядочивания, поиска, фильтрации и т.д. и, на мой взгляд, является более динамичным, чем встроенные страницы Django-admin.

$(document).ready(function() {
  $('#albums').DataTable({
    'serverSide': true,
    'ajax': '/api/albums/?format=datatables',
    'columns': [
      {'data': 'rank'},
      {'data': 'artist.name', 'name': 'artist.name'},
      {'data': 'name'},
      {'data': 'year'},
      {'data': 'genres', 'name': 'genres.name'},
    ]
  });
});

Дайте мне знать, если вам нужна более подробная информация.

Для получения дополнительной информации о DataTables ознакомьтесь с документацией здесь.

Вернуться на верх