Zachowując stany pól wyboru na tej samej stronie z wynikami kwerendy

głosy
1

Używam Django i mieć statycznej strony internetowej z formularzem GET i około 30 pól wyboru. Użytkownik wybiera różne pola i kliknie wyszukiwania, a wynik z bazy danych jest zwracana do tej samej strony w tabeli. Jednak wszystkie pola zostały usunięte, ponieważ HTML jest bezpaństwowcem.

Co to jest najprostsze rozwiązanie do „zapamiętania” stan pola wyboru? Szukałem przez django docs, ale przykłady prostu użyć zmiennej oraz jeżeli dla pojedynczej postaci tekstowej. Na pewno nie muszę sprawdzić, czy każde pole jest ustawione w querydict? Ponadto, moja postać została stworzona na zlecenie, zamiast przy użyciu formularzy Django.

Ostatecznie miałem zamiar użyć JSON dla strony i tylko zaktualizować tabelę, i że rozwiąże ten problem, ale nie jestem pewien, czy byłoby wprowadzić wiele innych, np powrotem przycisk nie działa w przypadku wcześniejszych wyszukiwań.

Utwórz 07/07/2009 o 18:02
źródło użytkownik
W innych językach...                            


4 odpowiedzi

głosy
0

Istnieją sposoby, aby rozwiązać ten problem przycisk wstecz (hash tagi i etażerka dołączany do adresu URL). Jednak sposób, że zawsze realizowane jest przez tylko. Zasadniczo chciałbym przekazać wyboru jako tablica na stanowiskach, a następnie, gdy idziesz do nich, po prostu zrobić pętlę, która uczyni wszystkie pola, których potrzebujesz, i sprawdzić przed POST, aby zobaczyć czy to było sprawdzane, czy nie. Poza tym, nie wiem.

Odpowiedział 07/07/2009 o 18:06
źródło użytkownik

głosy
0

Korzystanie dostać? Dobry. Dostęp do pól wyboru ten sam sposób można uzyskać dostęp do danych textField.

request.GET [ 'yourfield']

Użyj staments drukowania wglądu do informacji dostępnych w GET.

wydrukować request.GET [ 'yourfield']

Odpowiedział 07/07/2009 o 18:10
źródło użytkownik

głosy
2

„Co jest najprostszym rozwiązaniem do«zapamiętania»stan pola wyboru?”

transakcje internetowe są bezpaństwowcem.

Istnieje kilka typowych sposobów realizacji stanu.

  1. Sesjach. Jeśli użytkownik jest zalogowany, mają sesję. rzeczy przechowywać w swojej sesji. Formularz oni umieszczać idzie do sesji. To może być pobrana w celu publikowania nową formę z powrotem do nich.

  2. Ciasteczka. Sesje wykorzystywać cookies. Można używać cookies ręcznie. Masz dwie możliwości tutaj.

    • Umieścić informacje forma checkbox do cookie. Wyślij ją z odpowiedzią. Sprawdzić cookie w każdym żądaniu, aby wiedzieć, co do materiału siewnego z formularza.

    • Umieścić klucz sesji w ciasteczkach. To, co robi Django dla Ciebie. Nie zaimplementować to samemu.

  3. ciągi zapytania w adresie URL. Masz te same dwie możliwości jak ciasteczek. Albo dokonać ustawień na big-stary ciąg base64 lub przekazać identyfikator, który stoi w na sesji.

Odpowiedział 07/07/2009 o 18:11
źródło użytkownik

głosy
0

Jesli uzywasz obiektu formularza, a następnie można po prostu przekazać konstruktora żądanie i być z nim zrobić. Jeśli robisz to ręcznie, będziesz musiał zrobić kilka finangling z sesji.

Odpowiedział 09/07/2009 o 07:43
źródło użytkownik

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