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:

  1. L'ultima versione di Python.
  2. L'ultima versione di pip.
  3. Pipenv (anche se puoi usare venv invece se vuoi.)
  4. L'ultima versione di Django.

Dopo aver installato tutto il software essenziale, sei pronto per iniziare.

instagram viewer

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.