Ak ste na odosielanie a prijímanie informácií použili digitálne zariadenie, použili ste rozhranie API. Vývojári vytvárajú rozhrania API, ktoré používateľom umožňujú interakciu s údajmi z ich aplikácií.
Vytvorenie REST API je pohodlný spôsob zdieľania informácií. REST API majú definované štandardy regulujúce zdieľanie údajov medzi zariadeniami. Ak chcete pochopiť, ako fungujú REST API, môžete si ho vytvoriť úplne od začiatku.
Rámec Django REST môžete použiť na zostavenie REST API a použiť ho na zobrazenie údajov z databázy.
Používanie Django s REST API
Môžeš použite REST API na načítanie štruktúrovaných údajov cez HTTP. Rovnako ako mnoho jazykov a rámcov, aj Django vám umožňuje vytvoriť si vlastné API a používať ďalšie.
Mali by ste mať predinštalované aj nasledovné:
- Najnovšia verzia pythonu.
- Najnovšia verzia pip.
- Pipenv (aj keď namiesto toho môžete použiť venv, ak chcete.)
- Najnovšia verzia Django.
Po nainštalovaní všetkého základného softvéru ste pripravení začať.
1. Nainštalujte Django REST Framework
Rámec Django REST je výkonný nástroj, ktorý môžete použiť na vytváranie a konfiguráciu webových rozhraní API. Jeho prispôsobiteľné funkcie z neho robia obľúbenú voľbu na vytváranie REST API.
Rámec Django REST môžete nainštalovať pomocou nasledujúceho príkazu:
pipenv Inštalácia djangorestframework
2. Vytvorte aplikáciu Django
Nasledujúce pokyny vysvetlia, ako vytvoriť potravinovú aplikáciu na zhromažďovanie názvov a popisov obľúbených kenských jedál. Rozhranie API načíta požiadavky z databázy, aby používateľom umožnilo interakciu s týmito údajmi.
Aplikácie Django sú vybavené databázou SQLite, takže nemusíte inštalovať ďalšiu databázu.
Ak chcete vytvoriť aplikáciu Django, najprv vytvorte projekt s názvom jedlo s nasledujúcim príkazom:
django-admin startproject food
Ďalej vytvorte aplikáciu Django s názvomkenyanfood:
django-admin startapp kenyanfood
3. Zaregistrujte nastavenia projektu aplikácie
Zaregistrujte sakenyanfoodaplikáciu v nastaveniach projektu pod NAINŠTALOVANÉ APLIKÁCIE pole. Ak tento krok preskočíte, Django aplikáciu nerozpozná. Zaregistrujte tiež rámec Django REST v rovnakých nastaveniach:
# Definícia aplikácie
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.správy',
'django.contrib.staticfiles',
'kenyanfood',
'rest_framework',
]
4. Zaregistrujte adresy URL aplikácií
Registrovať kenyanfood adresy URL aplikácie v projekte urls.py súbor, ako je znázornené nižšie:
od django.contrib importovať admin
od django.urls importovať cesta, zahŕňajú
urlpatterns = [
cesta ('admin/', admin.site.urls),
cesta ('', zahŕňať('kenyanfood.urls')),
]
5. Vytvorte zobrazenie pre rozhranie API
Vytvorte fiktívne zobrazenie v aplikácii views.py súbor, takže aplikácia nevyvoláva chyby. Najprv importujte súbor odpoveď objekt a@apiview dekoratér z rámca Django REST.
odpoveď pomáha vrátiť sterilizované údaje do JSON formát, zatiaľ čo @apiview zobrazí API.
od django.skratky importovať vykresliť
od rest_framework.response importovať odpoveď
od rest_framework.dekorators importovať api_view
# Tu si vytvorte svoje názory.
@api_view(['GET'])
defgetFood(žiadosť):
vrátiť odpoveď()
6. Vytvorte cestu URL pre aplikáciu
Vytvorte cestu URL pre zobrazenie API, ktoré ste vytvorili. Tento koncový bod zobrazuje kenyanfoodúdajov.
od django.urls importovať cesta
od. importovať názory
od django.conf importovať nastavenie
urlpatterns = [
cesta ('', views.getFood),
cesta ('príspevok/', views.postFood),
]
7. Vytvorte model pre aplikáciu
Modelová trieda aplikácie sa nazýva Jedlo. Malo by to vyzerať takto:
od django.db importovať modelov
# Tu si vytvorte svoje modely.
triedaJedlo(modely. Model):
meno = modely. CharField (max_length=200)
popis = modely. CharField (max_length=500)
Zaregistrujte model v aplikácii admin.py súbor, ako je uvedené nižšie:
od django.contrib importovať admin
od .modelky importovať Jedlo
# Zaregistrujte svoje modely tu.
admin.stránka.Registrovať(Jedlo)
8. Urobte migrácie
Ďalšie, migrovať aplikáciu na vytváranie tabuliek v SQLite databázy. Môžete to urobiť pomocou nasledujúceho príkazu:
pytónspravovať.pymigráciekenyanfood
Potom použite tieto migrácie spustením tohto príkazu:
pytónspravovať.pymigrovať
Úspešná migrácia bude vyzerať takto:
Úspešné migrácie znamenajú, že databáza vytvorila tabuľky pre kenyanfoodApp.
9. Pridajte údaje do databázy
Použi admin Django GUI na zadávanie údajov do databázy. admin Django má skvelé rozhranie na vizualizáciu a správu údajov vašej aplikácie.
Prípadne môžete použiť python shell na príkazovom riadku na manuálne zadávanie údajov do databázy. V tejto príručke budete používať administrátorské rozhranie Django.
Na nastavenie správcu Django použite nasledujúci príkaz:
pytónspravovať.pyvytvárasuperuser
Po zobrazení výzvy zadajte svoj užívateľské meno, email a heslo. Potom môžete otvoriť stránku správcu pomocou odkazu nižšie:
http://127.0.0.1:8000/admin/
Zobrazí sa vám prihlasovacia stránka:
Po prihlásení sa vám zobrazí administračné rozhranie Django s skupiny a Používatelia Model. Oba slúžia na overenie; a Jedlo model je v sekcii nižšie.
Môžete pridať a odstrániť Jedlo položky z databázy zo stránky správcu. Pridajte do databázy niektoré kenské pochúťky, ako napríklad Ugali, Pilau a Chai.
Teraz, keď má databáza údaje, vytvorte API
10. Serializujte model
Serializátory previesť zložité modely Django na JSON objekty, vďaka čomu sa údaje dajú ľahko čítať v rozhraní API. Vďaka serializácii sú údaje v rozhraní API čitateľnejšie.
Vytvorte nový súbor v aplikácii s názvom serializer.py
od rest_framework importovať serializátory
od .modelky importovať Jedlo
triedaFoodSerializer(serializátory. ModelSerializer):
triedaMeta:
model=jedlo
polia=('názov','popis')
Importujete serializátory modul z rest_framework zabaliť a vytvoriť a FoodSerializer triedy, ktorá dedí z ModelSerializer trieda.
Ďalej špecifikujte Jedlo model, ktorý chcete serializovať, a polia, ktoré chcete pridať do API.
11. Aktualizujte zobrazenie
Potom aktualizujte zobrazenie API pomocou serializátor a Jedlo modelov.
Najprv definujte a GET metóda na získanie všetkých údajov z databázy Jedlo. Objects.all() funkciu. Potom serializujte údaje a vráťte ich ako odpoveď JSON formát.
od django.skratky importovať vykresliť
od rest_framework.response importovať odpoveď
od rest_framework.dekorators importovať api_view
od .modelky importovať Jedlo
od .serializátor importovať FoodSerializer
# Tu si vytvorte svoje názory.
@api_view(['GET'])
defgetFood(žiadosť):
jedlo = Food.objects.all()
serializátor = FoodSerializer (jedlo, veľa =Pravda)
vrátiť Odpoveď (serializer.data)
Potom prejdite na odkaz na adresu URL servera:
https://127.0.0.1:8000/
Uvidíte API zobrazujúce údaje z databázy:
Gratulujeme, vytvorili ste REST API!
12. Pridať údaje metódou POST
Otestujte, či môžete použiť REST API na pridávanie údajov do databázy.
Najprv definujte a POST metóda v zobrazení.
@api_view(['POST'])
defpostFood(žiadosť):
serializátor = FoodSerializer (data=request.data)
akserializátor.je platné():
serializátor.uložiť()
vrátiť Odpoveď (serializer.data)
Potom pridajte cestu do aplikácie urls.py na vytvorenie koncového bodu pre API POST funkčnosť.
urlpatterns = [
cesta ('',views.getFood),
cesta ('príspevok/',views.postFood),
]
Ďalej prejdite na túto adresu URL:
https://127.0.0.1:8000/post
Uvidíte POST koncový bod. Pridajte údaje do databázy v JSON formáte v Obsah a kliknite na položku POST tlačidlo. Napríklad pridajte novú potravinu s touto štruktúrou:
{ "názov":"Maziwa mala", "popis":"Kyslé mlieko" }
Údaje sa zobrazia červenou farbou JSON formát.
Ak sa teraz vrátite späť do GET koncový bod http://127.0.0.1:8000/, uvidíš jedlo "Maziwa mala,“ a jeho popis pridaný.
Teraz máte REST API, ktoré môže zobrazovať a pridávať položky do aplikácie. Čo tak experimentovať s inými CRUD metódy? Pracujúci s AKTUALIZOVAŤ a VYMAZAŤ metódy zvýšia funkčnosť vášho REST API.
Ako vytvoriť REST API s Django
Teraz môžete vytvoriť REST API pomocou Django. Najprv vytvorte aplikáciu s modelom, serializujte údaje a vytvorte funkciu zobrazenia. Ďalej zahrňte koncové body URL na vizualizáciu údajov vo formáte JSON.
Budovanie REST API s Django REST framework je pohodlný spôsob, ako zdieľať dáta a poskytnúť svojim používateľom skvelú zákaznícku skúsenosť.