Wymagania wstępne:
Zanim zaczniesz ćwiczyć skrypt tego samouczka, musisz wykonać następujące zadania.
- Zainstaluj Django w wersji 3+ na Ubuntu 20+ (najlepiej)
- Utwórz projekt Djangogo
- 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 serialappUruchom 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żytkownikUruchom następujące polecenie, aby zainstalować Django REST Framework.
$ pip3 zainstaluj djangorestframeworkDodaj 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ł modeliz 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 serialappUruchom migrować polecenie do wykonywania poleceń SQL i tworzenia wszystkich tabel w bazie danych zdefiniowanej w modele.py plik.
$ python3 zarządzaj.py migracjaZmodyfikuj 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ł administracyjnyz 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 URLz 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 Frameworkz 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 Frameworkz 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/
adresy URL.py
# Importuj moduł administracyjnyz 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.