Wymagania wstępne
Przed ćwiczeniem przykładów tego samouczka musisz wykonać następujące zadania:
Skonfiguruj aplikację Django
A. Uruchom następujące polecenie, aby utworzyć aplikację Django o nazwie FilterApp.
$ Python3 Zarządzaj.PY startApp FilterAppB. Uruchom następujące polecenie, aby utworzyć użytkownika w celu uzyskania dostępu do bazy danych Django. Jeśli wcześniej utworzyłeś użytkownika, nie musisz uruchamiać polecenia.
$ Python3 Zarządzaj.PY CreateSuperuserC. Dodaj nazwę aplikacji w Zainstalowany_app część py plik.
Instalowane_apps = [D. Utwórz folder o nazwie szablony w środku FilterApp folder i ustaw szablon Lokalizacja aplikacji w Szablony część py plik.
Szablony = [Utwórz model tabeli bazy danych
Otworzyć modele.py plik z FilterApp folder i dodaj następujący skrypt, aby zdefiniować strukturę pracownicy tabele. Pracownik Klasa jest zdefiniowana w celu utworzenia tabeli o nazwie pracownicy z Nazwa, post, e -mail, dział, I dołączanie_date Pola. Tutaj, Nazwa, post, I dział pola będą przechowywać dane znaków, e-mail pole będzie przechowywać adres e -mail i dołączanie_date pole będzie przechowywać dane daty.
modele.py
# Importuj moduł modeliUruchom Makemigrations polecenie tworzenia nowej migracji na podstawie zmian wprowadzonych przez modele.
$ Python3 Zarządzaj.Py Makemmigrations FilterAppUruchom migrować polecenie do wykonania poleceń SQL i utworzenia wszystkich tabel w bazie danych zdefiniowanych w modele.py plik.
$ Python3 Zarządzaj.Py migrujZmodyfikuj zawartość Admin.py Plik z następującą zawartością. Tutaj, Pracownik Klasa modeli jest zarejestrowana za pomocą Rejestr () metoda wyświetlania zapisy pracowników Tabele w deski rozdzielczej administracyjnej Django.
Admin.py
# Importuj moduł administratoraUruchom następujący adres URL, aby otworzyć stronę logowania administratora Django. Podaj prawidłową nazwę użytkownika i hasło do otwarcia Pulpit nawigacyjny administracji Django Aby uzyskać dostęp do tabel bazy danych.
Włóż dwa lub więcej rekordów pracowników, aby zastosować filtr na danych. Tutaj wstawiono pięć rekordów.
Utwórz szukaj.html plik wewnątrz FilterApp/szablony/ folder z następującym skryptem. Dane z pracownik Tabela zostanie wyświetlona w tym pliku szablonu. Do pętla służy do odczytania zawartości Object_list zmienna, która zostanie przekazana z pliku widoku. Nazwa, post, I dział Wartości pracownicy Tabela zostanie wyświetlona za pomocą listy.
szukaj.html
emp.nazwa (emp.post )
emp.dział dział
Otworzyć wyświetlenia.py plik z FilterApp folder i zmodyfikuj zawartość pliku za pomocą następującego skryptu. Model i nazwy szablonów są zdefiniowane w skrypcie.
wyświetlenia.py
# Importuj moduł ListViewZmodyfikuj zawartość URL.py Plik z następującą zawartością. W scenariuszu ''wyszukiwanie„Ścieżka jest zdefiniowana, aby zadzwonić Wyszukiwarki.as_view () metoda, która wyśle wszystkie dane i przefiltrowane dane pracownicy tabela do pliku szablonu.
URL.py
# Importuj moduł administratoraPojawi się następujące dane wyjściowe bez stosowania filtrowania dla następującego adresu URL.
http: // localhost: 8000/serachemp
Filtruj dane przez proste filtrowanie
Dodaj następujący wiersz na końcu wyświetlenia.py plik do filtrowania rekordów pracownicy Tabela, w której wartość post pole jest 'Księgowy'.
# Zastosuj podstawowe filtrowanieNastępujące wyjście pojawią się po zastosowaniu podstawowego filtrowania.
Filtruj dane z wieloma pól
Dodaj następujący wiersz na końcu wyświetlenia.py plik do filtrowania rekordów pracownicy Tabela, w której wartość dział pole jest 'Ht' I e-mail pole jest „[email protected] '.
# Zastosuj filtrowanie za pomocą wielu pólNastępujące dane wyjściowe pojawią się po zastosowaniu wielu filtrowania.
Filtruj dane z obiektem Q
Dodaj następujący wiersz na końcu wyświetlenia.py plik do filtrowania rekordów pracownicy Tabela, w której wartość post pole jest 'Menedżer'lub wartość dział pole jest 'Obroty'.
# Zastosuj filtrowanie za pomocą obiektów QNastępujące dane wyjściowe pojawią się po zastosowaniu filtrowania obiektów Q.
Filtruj dane za pomocą łączenia filtru
Dodaj następujący wiersz na końcu wyświetlenia.py plik do filtrowania rekordów pracownicy Tabela, w której wartość dział pole zostanie najpierw sprawdzone, a jeśli zwróci prawdziwie, to wartość nazwa pole zostanie sprawdzone.
# Zastosuj filtrowanie przez łańcuchNastępujące wyjście pojawią się po zastosowaniu łączenia filtra.
Wniosek
Dane można filtrować w Django na wiele sposobów. W tym samouczku wyjaśniono cztery różne sposoby filtrowania, aby zrozumieć podstawy filtrowania Django. Są to proste filtrowanie, wielokrotne filtrowanie, filtrowanie z obiektem Q i łączenie filtra.