Сохраняя флажок состояния на одной странице с результатами запроса

голоса
1

Я использую Django, и иметь статический веб-страницу с формой GET, и около 30 флажков. Пользователь выбирает различные коробки и щелкает поиск, и результат из базы данных возвращаются к той же странице в таблице. Тем не менее, все галочки были удалены, так как HTML является лицом без гражданства.

Что самое простое решение «вспомнить» состояние флажков? Я просмотрел Джанго документов, но примеры просто использовать переменный и если для одной текстовой формы. Конечно, я не должен проверить, если каждый флажок установлен в querydict? Кроме того, моя форма была специально создана, а не с помощью Джанго формы.

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

Задан 07/07/2009 в 18:02
источник пользователем
На других языках...                            


4 ответов

голоса
0

Есть способы, чтобы исправить проблему кнопку назад (хэш-теги и этажерки добавляется к URL). Однако, способ, которым я всегда достигается это через только что. По существу, я передам флажки как массив в POST, а затем, когда вы идете, чтобы сделать их, просто сделать цикл, который будет делать все коробки вам нужно, и проверить на POST, чтобы увидеть, если он был проверен или нет. Кроме того, я не знаю.

Ответил 07/07/2009 в 18:06
источник пользователем

голоса
0

Использование GET? Хорошо. Доступ флажков таким же образом получить доступ к данным TextField.

request.GET [ 'yourfield']

Использование печати staments для проверки информации, имеющейся в ГЭТ.

печать request.GET [ 'yourfield']

Ответил 07/07/2009 в 18:10
источник пользователем

голоса
2

«Что самое простое решение„вспомнить“состояние флажков?»

Веб-транзакции являются лицами без гражданства.

Есть несколько распространенных способов реализации состояния.

  1. Сессии. Если пользователь вошел в систему, они имеют сеанс. Хранить материал в своей сессии. Форма их POST идет в сессии. Это может затем быть извлечена для того, чтобы создать новую форму обратно к ним.

  2. Печенье. Сессии использовать куки. Вы можете использовать куки вручную. У вас есть два варианта здесь.

    • Поместите информацию о форме флажка в кук. Отправить его вниз с ответом. Проверьте печенье в каждом запросе, так что вы знаете, что семя формы с.

    • Поместите ключ сеанса в куки. Это то, что делает Django для вас. Не это реализовать себя.

  3. Строки запроса в URL. У вас есть те же два варианта, как с печеньем. Либо выполните настройки в большой старую строку base64 или передать идентификатор, который стоит в течение сессии.

Ответил 07/07/2009 в 18:11
источник пользователем

голоса
0

Если вы использовали объект формы, то вы можете просто передать конструктору запрос и сделать с ней. Если вы делаете это вручную, вы должны сделать некоторые finangling с сессией.

Ответил 09/07/2009 в 07:43
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more