2016-08-08 1 views
-2

У меня есть страница с формой, в которой пользователь вводит информацию, которая помогает фильтровать запрос, когда они нажимают кнопку submit. После их представления они отображаются на странице результатов, на которой отображается этот отфильтрованный запрос. У меня есть разбиение на страницы с Django, а также интерактивное выпадающее меню, где пользователь может выбрать, сколько записей запроса, которое они хотели бы просмотреть на странице. Я получил все это, но проблема, с которой я столкнулась, заключается в том, что для ее работы мне нужен глобальный объект запроса. Я столкнулся с проблемами, когда несколько потоков используют страницу сразу, поэтому я пытаюсь найти альтернативные варианты, кроме использования глобального, но все же позволяя интерактивное выпадающее меню и разбиение на страницы.Django Pagination, выбранная пользователем сумма ошибки ввода

Когда я пытаюсь удалить глобальное и нажимаю на вторую или следующую страницу, запрос, кажется, будет уничтожен, и я получаю сообщение об ошибке, когда объект None не может быть переименован. Любые советы по альтернативам, которые я могу попробовать, будут избегать этой ошибки? Благодаря!

+0

Вы ** определенно не хотите получать глобальный запрос; если бы у вас был один, все пользователи увидели бы то же самое. Но в этом нет необходимости; у вас уже есть вся информация, необходимая для воссоздания запроса в каждом запросе. Если вы хотите получить более конкретную помощь, вам нужно будет опубликовать код, который вы используете, и ошибки, которые вы получаете. –

ответ

0

Вы ошибаетесь - вместо того, чтобы пытаться запомнить состояние запроса для каждого пользователя и подкачки на основе этого, вместо этого настройте свою пользовательскую страницу, чтобы запросить нужную страницу и запросить ее с сервера.

Вы можете сделать это во многих отношениях, но что-то вроде Tastypie или django rest framework может дать вам простой способ разработки api на основе страниц, а Datatables или аналогичные могут позволить вам фильтровать и запрашивать страницы с помощью Ajax.