Jeśli korzystałeś z urządzenia cyfrowego do wysyłania i odbierania informacji, korzystałeś z interfejsu API. Deweloperzy tworzą interfejsy API, aby umożliwić użytkownikom interakcję z danymi z ich aplikacji.
Tworzenie REST API to wygodny sposób udostępniania informacji. REST API mają zdefiniowane standardy regulujące współdzielenie danych pomiędzy urządzeniami. Aby zrozumieć, jak działają interfejsy API REST, możesz zbudować je od podstaw.
Możesz użyć struktury Django REST do zbudowania interfejsu API REST i użyć go do wyświetlenia danych z bazy danych.
Używanie Django z API REST
Możesz użyj interfejsu API REST do pobierania danych strukturalnych przez HTTP. Podobnie jak wiele języków i frameworków, Django pozwala budować własne API i korzystać z innych.
Powinieneś także mieć wstępnie zainstalowane:
- Najnowsza wersja Pythona.
- Najnowsza wersja pipa.
- Pipenv (chociaż możesz zamiast tego użyć venv, jeśli chcesz).
- Najnowsza wersja Django.
Po zainstalowaniu całego niezbędnego oprogramowania możesz zacząć.
1. Zainstaluj Django REST Framework
Framework Django REST to potężny zestaw narzędzi, którego można używać do tworzenia i konfigurowania internetowych interfejsów API. Jego konfigurowalne funkcje sprawiają, że jest to popularny wybór do tworzenia interfejsów API REST.
Możesz zainstalować framework Django REST za pomocą następującego polecenia:
pipenv zainstalować djangorestframework
2. Utwórz aplikację Django
Poniższe instrukcje wyjaśnią, jak utworzyć aplikację żywności, aby gromadzić nazwy i opisy popularnych kenijskich potraw. Interfejs API pobierze żądania z bazy danych, aby umożliwić użytkownikom interakcję z tymi danymi.
Aplikacje Django są wyposażone w SQLitedatabase, więc nie musisz instalować kolejnej bazy danych.
Aby utworzyć aplikację Django, najpierw utwórz projekt o nazwie żywność za pomocą następującego polecenia:
django-admin startproject food
Następnie utwórz aplikację Django o nazwiekenijskie jedzenie:
django-admin startapp kenyanfood
3. Zarejestruj ustawienia projektu aplikacji
Zarejestrujkenijskie jedzenieapp w ustawieniach projektu pod ZAINSTALOWANE APLIKACJE szyk. Jeśli pominiesz ten krok, Django nie rozpozna aplikacji. Zarejestruj również framework Django REST w tych samych ustawieniach:
# Definicja aplikacji
ZAINSTALOWANE_APLIKACJE = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'kenijskie jedzenie',
'rest_framework',
]
4. Zarejestruj adresy URL aplikacji
Rejestr kenijskie jedzenie adresy URL aplikacji w projekcie urls.py plik, jak pokazano poniżej:
z django.contrib import Admin
z django.adresy URL import ścieżka, zawiera
wzorce adresów URL = [
ścieżka('Admin/', administrator.site.url),
ścieżka('', włączać('kenijskie jedzenie.urls')),
]
5. Utwórz widok dla interfejsu API
Utwórz fikcyjny widok w aplikacji wyświetlenia.py plik, więc aplikacja nie zgłasza błędów. Najpierw zaimportuj plik Odpowiedź obiekt i@apiview dekorator z frameworka Django REST.
Odpowiedź pomaga w zwróceniu wysterylizowanych danych JSON sformatować, podczas gdy @apiview wyświetla interfejs API.
z django.skróty import renderowanie
z rest_framework.odpowiedź import Odpowiedź
z rest_framework.dekoratory import api_view
# Utwórz tutaj swoje poglądy.
@api_view(['DOSTAWAĆ'])
pokZdobądź jedzenie(wniosek):
powrót Odpowiedź()
6. Utwórz ścieżkę URL dla aplikacji
Utwórz ścieżkę URL dla utworzonego widoku interfejsu API. Ten punkt końcowy wyświetla kenijskie jedzeniedane.
z django.adresy URL import ścieżka
z. import wyświetlenia
z django.conf import ustawienia
wzorce adresów URL = [
ścieżka('', odsłony.dostaćJedzenie),
ścieżka('post/', odsłony.postJedzenie),
]
7. Utwórz model dla aplikacji
Klasa modelu aplikacji jest wywoływana Żywność. To powinno wyglądać tak:
z django.db import modele
# Utwórz swoje modele tutaj.
klasaŻywność(modele. Model):
nazwa = modele. CharField (maks. długość=200)
opis = modele. CharField (maks. długość=500)
Zarejestruj model w aplikacji admin.py plik, jak pokazano poniżej:
z django.contrib import Admin
z .modele import Żywność
# Zarejestruj swoje modele tutaj.
Admin.strona.rejestr(Żywność)
8. Dokonaj migracji
Następny, migrować aplikacja do tworzenia tabel w SQLite Baza danych. Możesz to zrobić za pomocą następującego polecenia:
pytonzarządzać.pymigracjekenijskie jedzenie
Następnie zastosuj te migracje, uruchamiając to polecenie:
pytonzarządzać.pymigrować
Pomyślna migracja będzie wyglądać następująco:
Pomyślne migracje oznaczają, że baza danych utworzyła tabele dla kenijskie jedzenieAplikacja.
9. Dodaj dane do bazy danych
Użyj Administrator Django GUI do wprowadzania danych do bazy danych. Administrator Django ma świetny interfejs do wizualizacji i zarządzania danymi aplikacji.
Alternatywnie możesz użyć powłoki Pythona w wierszu poleceń, aby ręcznie wprowadzić dane do bazy danych. W tym przewodniku będziesz używać interfejsu administratora Django.
Użyj następującego polecenia, aby skonfigurować administratora Django:
pytonzarządzać.pytworzy superużytkownika
Po wyświetleniu monitu wprowadź swój nazwę użytkownika, adres e-mail i hasło. Następnie możesz otworzyć stronę administratora, korzystając z poniższego łącza:
http://127.0.0.1:8000/admin/
Zobaczysz stronę logowania:
Po zalogowaniu zobaczysz interfejs administracyjny Django z Grupy I Użytkownicy Model. Oba służą do uwierzytelniania; the Żywność model znajduje się w sekcji poniżej.
Możesz dodawać i usuwać Żywność elementy z bazy danych ze strony administratora. Dodaj do bazy danych kilka kenijskich przysmaków, takich jak Ugali, Pilau i Chai.
Teraz, gdy baza danych zawiera dane, utwórz interfejs API
10. Serializacja modelu
Serializatory konwertować złożone modele Django do JSON obiekty, ułatwiając odczytywanie danych w interfejsie API. Serializacja zwiększa czytelność danych w interfejsie API.
Utwórz nowy plik w aplikacji o nazwie serializator.py
z rest_framework import serializatory
z .modele import Żywność
klasaSerializator żywności(serializatory. ModelSerializer):
klasaMeta:
model=Jedzenie
pola = ('nazwa','opis')
Importujesz serializatory moduł z rest_framework spakuj i utwórz plik Serializator żywności klasa, która dziedziczy po ModelSerializer klasa.
Następnie określ Żywność model, który chcesz serializować, oraz pola, które chcesz dodać do interfejsu API.
11. Zaktualizuj widok
Następnie zaktualizuj widok API za pomocą serializator I Żywność modele.
Najpierw zdefiniuj a DOSTAWAĆ metoda pobierania wszystkich danych z bazy danych Żywność. Obiekty.all() funkcjonować. Następnie serializuj dane i zwróć je jako odpowiedź w JSON format.
z django.skróty import renderowanie
z rest_framework.odpowiedź import Odpowiedź
z rest_framework.dekoratory import api_view
z .modele import Żywność
z .serializator import Serializator żywności
# Utwórz tutaj swoje poglądy.
@api_view(['DOSTAWAĆ'])
pokZdobądź jedzenie(wniosek):
jedzenie = jedzenie.obiekty.all()
serializer = FoodSerializer (jedzenie, wiele =PRAWDA)
powrót Odpowiedź (serializer.data)
Następnie przejdź do łącza adresu URL serwera:
https://127.0.0.1:8000/
Zobaczysz API wyświetlające dane z bazy:
Gratulacje, stworzyłeś REST API!
12. Dodaj dane metodą POST
Sprawdź, czy możesz użyć interfejsu API REST, aby dodać dane do bazy danych.
Najpierw zdefiniuj a POST metoda w widoku
@api_view(['POST'])
pokpocztaJedzenie(wniosek):
serializer = FoodSerializer (data=request.data)
Jeśliserializator.jest ważna():
serializator.ratować()
powrót Odpowiedź (serializer.data)
Następnie dodaj ścieżkę w pliku app urls.py aby utworzyć punkt końcowy dla interfejsu API POST funkcjonalność.
wzorce adresów URL = [
ścieżka('',views.getJedzenie),
ścieżka('post/',views.postJedzenie),
]
Następnie przejdź do tego adresu URL:
https://127.0.0.1:8000/post
Zobaczysz POST punkt końcowy. Dodaj dane do bazy danych w JSON sformatować w Treść sekcję i kliknij POST przycisk. Na przykład dodaj nowy artykuł spożywczy o następującej strukturze:
{ "nazwa":"mała maziwa", "opis":"Kwaśne mleko" }
Zobaczysz dane wyświetlane na czerwono w JSON format.
Teraz, jeśli nawigujesz z powrotem do DOSTAWAĆ punkt końcowy http://127.0.0.1:8000/, zobaczysz jedzenieMaziwa mała”, i dodano jego opis.
Masz teraz interfejs API REST, który może wyświetlać i dodawać elementy do aplikacji. A co powiesz na eksperymentowanie z innymi CRUD metody? Praca z AKTUALIZACJA I USUWAĆ metody zwiększą funkcjonalność twojego REST API.
Jak stworzyć API REST w Django
Możesz teraz utworzyć interfejs API REST za pomocą Django. Najpierw utwórz aplikację z modelem, serializuj dane i utwórz funkcję widoku. Następnie dołącz punkty końcowe adresu URL, aby zwizualizować dane w formacie JSON.
Budowanie interfejsów API REST za pomocą frameworka Django REST to wygodny sposób udostępniania danych i zapewniania użytkownikom doskonałej obsługi klienta.