Se hai utilizzato un dispositivo digitale per inviare e ricevere informazioni, hai utilizzato un'API. Gli sviluppatori creano API per consentire agli utenti di interagire con i dati delle loro applicazioni.
La creazione di un'API REST è un modo conveniente per condividere le informazioni. Le API REST hanno standard definiti che regolano la condivisione dei dati tra dispositivi. Per capire come funzionano le API REST, puoi crearne una da zero.
Puoi utilizzare il framework Django REST per creare un'API REST e utilizzarla per visualizzare i dati da un database.
Utilizzo di Django con un'API REST
Puoi utilizzare un'API REST per recuperare i dati strutturati su HTTP. Come molti linguaggi e framework, Django ti consente di creare la tua API e consumarne altri.
Dovresti anche avere preinstallato quanto segue:
- L'ultima versione di Python.
- L'ultima versione di pip.
- Pipenv (anche se puoi usare venv invece se vuoi.)
- L'ultima versione di Django.
Dopo aver installato tutto il software essenziale, sei pronto per iniziare.
1. Installa Django REST Framework
Struttura Django REST è un potente toolkit che puoi utilizzare per creare e configurare API web. Le sue funzionalità personalizzabili lo rendono una scelta popolare per creare API REST.
Puoi installare il framework Django REST con il seguente comando:
pipenv installare djangorestframework
2. Crea un'app Django
Le seguenti istruzioni spiegheranno come creare un'applicazione alimentare per raccogliere nomi e descrizioni di cibi kenioti popolari. L'API recupererà le richieste da un database per consentire agli utenti di interagire con tali dati.
Le app Django sono dotate di un database SQLite, quindi non è necessario installare un altro database.
Per creare un'app Django, crea prima un progetto chiamato cibo con il seguente comando:
django-admin startproject food
Quindi, crea un'app Django chiamatakenyanfood:
django-admin startapp kenyanfood
3. Registrare le impostazioni del progetto dell'app
Registra ilkenyanfoodapp nelle impostazioni del progetto sotto il file APP INSTALLATE vettore. Se salti questo passaggio, Django non riconoscerà l'app. Inoltre, registra il framework Django REST nelle stesse impostazioni:
# Definizione dell'applicazione
APP_INSTALLATE = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'kenyanfood',
'resto_framework',
]
4. Registra gli URL delle app
Registrati kenyanfood URL delle app nel progetto URL.py file come illustrato di seguito:
da django.contrib importare admin
da django.urls importare percorso, includere
schemi URL = [
sentiero('amministratore/', admin.site.urls),
sentiero('', includere('kenyanfood.urls')),
]
5. Crea una vista per l'API
Crea una visualizzazione fittizia nell'app viste.py file, quindi l'app non genera errori. Innanzitutto, importa il file Risposta oggettoe@apiview decoratore dal framework Django REST.
Risposta aiuta a restituire i dati sterilizzati in JSON formato mentre il @apiview visualizza l'API.
da django.scorciatoie importare rendere
da rest_framework.response importare Risposta
da rest_framework.decorators importare api_view
# Crea le tue visualizzazioni qui.
@api_view(['OTTENERE'])
defprendi del cibo(richiesta):
ritorno Risposta()
6. Crea un percorso URL per l'app
Crea un percorso URL per la vista API che hai creato. Questo endpoint visualizza il file kenyanfooddati.
da django.urls importare sentiero
da. importare visualizzazioni
da django.conf importare impostazioni
schemi URL = [
sentiero('', views.getFood),
sentiero('inviare/', views.postFood),
]
7. Creare un modello per l'app
Viene chiamata la classe del modello dell'app Cibo. Dovrebbe sembrare come questo:
da django.db importare Modelli
# Crea i tuoi modelli qui.
classeCibo(Modelli. Modello):
nome = modelli. CharField (lunghezza_max=200)
descrizione = modelli. CharField (lunghezza_max=500)
Registra il modello nell'app admin.py file come mostrato di seguito:
da django.contrib importare admin
da .Modelli importare Cibo
# Registra qui i tuoi modelli.
admin.luogo.Registrati(Cibo)
8. Effettua migrazioni
Prossimo, migrare l'app per creare tabelle nel file SQLite Banca dati. Puoi farlo usando il seguente comando:
pitonemaneggio.pymakemigrationskenyanfood
Successivamente, applica queste migrazioni eseguendo questo comando:
pitonemaneggio.pymigrare
Una migrazione riuscita sarà simile a questa:
Le migrazioni riuscite indicano che il database ha creato tabelle per il file kenyanfoodApp.
9. Aggiungi dati al database
Usa il amministratore Django GUI per inserire i dati nel database. amministratore Django ha un'ottima interfaccia per visualizzare e gestire i dati della tua applicazione.
In alternativa, puoi utilizzare la shell python sulla riga di comando per inserire i dati manualmente nel database. In questa guida utilizzerai l'interfaccia di amministrazione di Django.
Usa il seguente comando per configurare l'amministratore di Django:
pitonemaneggio.pycreatesuperuser
Quando richiesto, inserisci il tuo nome utente, e-mail e password. È quindi possibile aprire la pagina di amministrazione utilizzando il collegamento seguente:
http://127.0.0.1:8000/admin/
Vedrai la pagina di accesso:
Una volta effettuato l'accesso, vedrai l'interfaccia di amministrazione di Django con Gruppi E Utenti modello. Questi sono entrambi per l'autenticazione; IL Cibo modello è nella sezione sottostante.
Puoi aggiungere ed eliminare Cibo elementi dal database dalla pagina di amministrazione. Aggiungi alcune prelibatezze keniote, come Ugali, Pilau e Chai, al database.
Ora che il database dispone di dati, crea l'API
10. Serializzare il modello
Serializzatori convertire complessi modelli Django in JSON oggetti, rendendo i dati facilmente leggibili sull'API. La serializzazione rende i dati più leggibili sull'API.
Crea un nuovo file nell'app chiamata serializzatore.py
da resto_framework importare serializzatori
da .Modelli importare Cibo
classeFoodSerializer(serializzatori. ModelSerializer):
classeMeta:
modello=Cibo
campi=('nome','descrizione')
Importi il file serializzatori modulo dal resto_framework pacchetto e creare un file FoodSerializer classe che eredita da ModelSerializer classe.
Successivamente, specificare il file Cibo modello che vuoi serializzare e i campi che vuoi aggiungere all'API.
11. Aggiorna la vista
Successivamente, aggiorna la vista API con il file serializzatore E Cibo Modelli.
Per prima cosa definisci a OTTENERE metodo per recuperare tutti i dati dal database con Cibo. Oggetti.tutti() funzione. Quindi serializza i dati e li restituisce come risposta in JSON formato.
da django.scorciatoie importare rendere
da rest_framework.response importare Risposta
da rest_framework.decorators importare api_view
da .Modelli importare Cibo
da .serializzatore importare FoodSerializer
# Crea le tue visualizzazioni qui.
@api_view(['OTTENERE'])
defprendi del cibo(richiesta):
cibo = Cibo.oggetti.tutto()
serializer = FoodSerializer (cibo, molti=VERO)
ritorno Risposta (serializer.data)
Quindi, vai al link dell'URL del server:
https://127.0.0.1:8000/
Vedrai l'API che mostra i dati dal database:
Congratulazioni, hai creato un'API REST!
12. Aggiungi dati con il metodo POST
Verifica se puoi utilizzare l'API REST per aggiungere dati al database.
Per prima cosa definisci a INVIARE metodo nella vista.
@api_view(['INVIARE'])
defpostFood(richiesta):
serializer = FoodSerializer (data=request.data)
Seserializzatore.è valido():
serializzatore.salva()
ritorno Risposta (serializer.data)
Quindi, aggiungi un percorso nell'app URL.py per creare un endpoint per l'API INVIARE funzionalità.
schemi URL = [
sentiero('',views.getFood),
sentiero('inviare/',views.postFood),
]
Successivamente, vai a questo URL:
https://127.0.0.1:8000/post
Vedrai il INVIARE punto finale. Aggiungere dati al database in JSON formato nel Contenuto sezione e fare clic su INVIARE pulsante. Ad esempio, aggiungi un nuovo alimento con questa struttura:
{ "nome":"Maziwa mala", "descrizione":"Latte acido" }
Vedrai i dati visualizzati in rosso in JSON formato.
Ora, se torni al file OTTENERE punto finale http://127.0.0.1:8000/, vedrai il cibo 'Maziwa mala,' e la sua descrizione aggiunta.
Ora disponi di un'API REST in grado di visualizzare e aggiungere elementi all'applicazione. Che ne dici di sperimentare con altri CRUD metodi? Lavorando con AGGIORNAMENTO E ELIMINARE i metodi aumenteranno la funzionalità della tua API REST.
Come creare un'API REST con Django
Ora puoi creare un'API REST usando Django. Innanzitutto, crea un'app con un modello, serializza i dati e crea una funzione di visualizzazione. Successivamente, includi gli endpoint URL per visualizzare i dati in formato JSON.
La creazione di API REST con il framework Django REST è un modo conveniente per condividere i dati e offrire ai tuoi utenti un'ottima esperienza cliente.