Django

Jak korzystać z serializatorów Django

Jak korzystać z serializatorów Django
Serializer jest używany w Django do konwertowania instancji modelu lub zestawów zapytań na typy danych obsługiwane przez Pythona, które można łatwo renderować do formatu JSON, XML lub innych formatów. Deserializację można również wykonać za pomocą serializatorów, aby odzyskać oryginalne dane z serializowanych danych. Ta funkcja jest dostępna w Django REST Framework. Tak więc użytkownicy muszą zainstalować tę platformę, aby korzystać z serializatorów. Każda strona internetowa serwisu może zawierać kod HTML, CSS oraz dane z tabel bazy danych. Ale API nie rozumie tego typu treści i może zrozumieć tylko surowe dane, czyli dane JSON. W tym samouczku pokazano, w jaki sposób serializatory mogą być używane do konwersji instancji modelu do formatu JSON.

Wymagania wstępne:

Zanim zaczniesz ćwiczyć skrypt tego samouczka, musisz wykonać następujące zadania.

  1. Zainstaluj Django w wersji 3+ na Ubuntu 20+ (najlepiej)
  2. Utwórz projekt Djangogo
  3. Uruchom serwer Django, aby sprawdzić, czy serwer działa poprawnie, czy nie.

Skonfiguruj aplikację Django dla serializatorów:

Uruchom następujące polecenie, aby utworzyć aplikację Django o nazwie serialaplikacja.

$ python3 zarządzaj.py startapp serialapp

Uruchom następujące polecenie, aby utworzyć użytkownika umożliwiającego dostęp do bazy danych Django. Jeśli wcześniej utworzyłeś użytkownika, nie musisz uruchamiać polecenia.

$ python3 zarządzaj.py tworzy superużytkownik

Uruchom następujące polecenie, aby zainstalować Django REST Framework.

$ pip3 zainstaluj djangorestframework

Dodaj rest_framework i nazwę aplikacji w INSTALLED_APP część ustawienia.py plik.

INSTALLED_APPS = [
… .
„ramka_odpoczynkowa”,
„aplikacja serial”
]

Utwórz model dla tabeli bazy danych:

Otworzyć modele.py plik z serialaplikacja folder i dodaj następujący skrypt, aby zdefiniować strukturę klienci stoły. Klient klasa jest zdefiniowana w celu utworzenia tabeli o nazwie klienci z imię i nazwisko, adres, e-mail, nr_kontaktu, i Utworzony pola. Tutaj, imię i nazwisko, e-mail, i kontakt_nr pola będą przechowywać dane znakowe, adres pole będzie przechowywać dane tekstowe, a Utworzony pole będzie przechowywać dane DateTime.

modele.py

# Zaimportuj moduł modeli
z django.modele importu db
# Zdefiniuj klasę modelu dla tabeli klientów
klasa Klient (modele).Model):
nazwa = modele.Pole znaku(max_length=100)
adres = modele.Pole tekstowe()
email = modelki.Pole znaku(max_length=50)
nr_kontaktu = modele.Pole znaku(max_length=20)
stworzony = modele.DateTimeField(auto_now_add=True)

Uruchom makemigracje polecenie do utworzenia nowej migracji na podstawie zmian wprowadzonych przez modele.

$ python3 zarządzaj.py makemigrations serialapp

Uruchom migrować polecenie do wykonywania poleceń SQL i tworzenia wszystkich tabel w bazie danych zdefiniowanej w modele.py plik.

$ python3 zarządzaj.py migracja

Zmodyfikuj zawartość Administrator.py plik o następującej treści. Tutaj, klient klasę modeli rejestruje się za pomocą rejestr() metoda wyświetlania klienci tabele w panelu administracyjnym Django.

Administrator.py

# Importuj moduł administracyjny
z django.admin importu wkładów
# Importuj model klienta
z .modele importują Klienta
# Zarejestruj model klienta
Administrator.teren.zarejestruj się (Klient)

adresy URL.py

z django.Ścieżka importu adresów URL
z django.admin importu wkładów
wzory url = [
# Zdefiniuj ścieżkę dla administratora
ścieżka('admin/', admin.teren.adresy URL),
]

Dodaj rekordy do tabeli:

Otwórz stronę Administracja Django i dodaj kilka rekordów do klienci tabela wyświetlana w przeglądarce w formacie JSON. Tutaj wstawiono trzy rekordy.

Zmodyfikuj widoki.py:

Otworzyć wyświetlenia.py plik z serialaplikacja i zastąp zawartość następującym skryptem. Lista klientów klasa jest zdefiniowana w celu serializacji wszystkich rekordów klientów i zwrócenia danych do przeglądarki w formacie JSON. Szczegóły klienta klasa jest zdefiniowana w celu serializacji konkretnego rekordu klienta na podstawie wartości ID i zwrócenia danych przeglądarki w formacie JSONSON. Serializator klienta to plik serializatora, który został utworzony w następnej części tego samouczka.

wyświetlenia.py

# Importuj generyki z Django REST Framework
z rest_framework importu generycznego
# Importuj model klienta
z .modele importują Klienta
# Importuj CustomerSerializer z serializatorów
z .serializatory importują CustomerSerializer
# Zdefiniuj klasę, aby przekonwertować wszystkie rekordy tabeli klientów na JSON
class Lista klientów (ogólne.ListaCreateAPIView):
queryset = Klient.przedmioty.wszystko()
serializer_class = CustomerSerializer
# Zdefiniuj klasę, aby przekonwertować konkretny rekord tabeli klientów na JSON
klasa SzczegółyKlienta(ogólne.PobierzUpdateDestroyAPIView):
queryset = Klient.przedmioty.wszystko()
serializer_class = CustomerSerializer

Utwórz serializator:

Stwórz serializatory.py plik w tej samej lokalizacji co wyświetlenia.py plik z następującym skryptem. ModelSerializer klasa jest tutaj używana do tworzenia Serializator klienta klasa zwracająca klasę serializatorów z polami modelu Customer. Pola modelu klienta, które zostaną przekonwertowane na format JSON, są wymienione w in Meta klasa.

serializatory.py

# Importuj moduł serializatorów z Django REST Framework
z rest_framework import serializatorów
# Importuj model klienta
z .modele importują Klienta
# Zdefiniuj niestandardową klasę serializatorów, aby przekonwertować pola modelu klienta do formatu JSON
class CustomerSerializer(serializatory.Serializator modelu):
Meta klasy:
model = Klient
pola = ('id', 'name', 'address', 'email', 'contact_no')

Zmodyfikuj adresy URL.plik py:

Zmodyfikuj zawartość adresy URL.py plik z następującym skryptem. W skrypcie 'klienci/' ścieżka jest zdefiniowana, aby wyświetlić wszystkie rekordy of klienci tabela w formacie JSON, a 'klienci//' ścieżka jest zdefiniowana do wyświetlania konkretnych danych data klienci tabela w formacie JSON na podstawie wartości ID.

adresy URL.py

# Importuj moduł administracyjny
z django.admin importu wkładów
# Importuj ścieżkę i dołącz moduł
z django.Ścieżka importu adresów URL
# Importuj widoki
z widoków importu serialapp
# Importuj format_suffix_patterns z Django REST Framework
z rest_framework.importowanie wzorców url format_suffix_patterns
wzory url = [
# Zdefiniuj ścieżkę dla administratora
ścieżka('admin/', admin.teren.adresy URL),
# Zdefiniuj ścieżkę, aby uzyskać wszystkie dane klientów w formacie JSON
ścieżka('klienci/', widoki.Lista klientów.as_view()),
# Zdefiniuj ścieżkę do uzyskania konkretnych danych klienta na podstawie identyfikatora w formacie JSONSON
path('klienci//', widoki.Szczegóły klienta.as_view()),
]
wzorce url = format_suffix_patterns (wzory url)

Wszystkie rekordy tabeli Klienci będą wyświetlane w formacie JSON, jeśli zostanie wykonany następujący adres URL.

http://localhost:8000/klienci

Rekord drugiego klienta zostanie wyświetlony w formacie JSON, jeśli zostanie wykonany następujący adres URL.

http://localhost:8000/customers/2

Wniosek:

Wykorzystanie serializatorów w aplikacji Django do konwersji instancji modelu do formatu JSON zostało pokazane w tym samouczku za pomocą prostego skryptu. Użytkownicy Django zrozumieją cel używania serializatorów i zastosują je w swoich aplikacjach, jeśli to konieczne po przeczytaniu tego samouczka.

Gry 5 najlepszych gier zręcznościowych dla systemu Linux
5 najlepszych gier zręcznościowych dla systemu Linux
W dzisiejszych czasach komputery to poważne maszyny używane do gier. Jeśli nie możesz uzyskać nowego wysokiego wyniku, będziesz wiedział, o co mi chod...
Gry Bitwa o Wesnoth 1.13.6 Wydanie rozwojowe
Bitwa o Wesnoth 1.13.6 Wydanie rozwojowe
Bitwa o Wesnoth 1.13.6 wydana w zeszłym miesiącu jest szóstą wersją rozwojową w 1.13.Seria x i zapewnia szereg ulepszeń, w szczególności w interfejsie...
Gry Jak zainstalować League Of Legends na Ubuntu 14.04
Jak zainstalować League Of Legends na Ubuntu 14.04
Jeśli jesteś fanem League of Legends, to jest okazja do przetestowania League of Legends. Pamiętaj, że LOL jest obsługiwany w PlayOnLinux, jeśli jeste...