Как генерировать динамические строки на странице на основе ответа 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 ознакомьтесь с документацией здесь.