Новичок - использование обработки данных на стороне сервера с django - PullRequest
0 голосов
/ 29 августа 2018

Я новичок в Django & web dev и ищу руководство по настройке обработки на стороне сервера с моим источником данных.

По сути, у меня есть внешний файл .db SQLite с записями 500 КБ, и я хотел бы отобразить записи в файле начальной загрузки.

В моем файле views.py каждый раз, когда они посещают index.html, я делаю запрос для извлечения записей (не уверен, что это неэффективно, но это небольшой сайт для хобби)

groups = cursor.execute("""SELECT * FROM PlayerGroups""")
return render(request, 'home/index.html', {'groups': groups}) # the issue since it returns 500k records which is too much for the client to handle.

Я понимаю, что мне нужно поместить что-то вроде этого в "index.html":

<script>
    $(document).ready(function(){
        $('#example').dataTable( {
            "bProcessing": true,
            "bServerSide": true,
            "sAjaxSource": <confused about this part...>
        });
    });
</script>

Я запутался в создании собственного API базы данных и связывании источника ajax с моим файлом views / urls. Все руководства, которые я посмотрел в Интернете, показывают обработку на стороне сервера с моделями и прочим. У меня просто есть внешний файл .db, который я хочу показать в таблице данных.

Любое руководство или помощь будет много значить.

1 Ответ

0 голосов
/ 30 августа 2018

Нет, вы не хотите запрашивать и отображать 500 000 записей. Это слишком тяжело как для интерфейса, так и для интерфейса. Одним из решений является нумерация страниц.

Разделите интерфейс на страницы. На каждой странице отображается фиксированное количество записей, например 10. Когда пользователи запрашивают первую страницу, запросите первые 10 записей в вашей таблице базы данных. Когда пользователи запрашивают следующую страницу, запрашивают следующие 10 записей. И так далее.

Это можно сделать с помощью предложений sqlite LIMIT и OFFSET

SELECT
 id, name
FROM
 table
LIMIT 10 OFFSET offset;

, где offset = page_number * 10.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...