Bu Django kitaplığını kullanarak kısa sürede temel bir REST API oluşturabilirsiniz.

Django REST Framework ile REST API Oluşturun

Bilgi göndermek ve almak için dijital bir cihaz kullandıysanız, bir API kullanmışsınızdır. Geliştiriciler, kullanıcıların uygulamalarından verilerle etkileşim kurmasını sağlamak için API’ler oluşturur.

REST API oluşturmak, bilgi paylaşmanın uygun bir yoludur. REST API’leri, cihazlar arasında veri paylaşımını düzenleyen standartları tanımlamıştır. REST API’lerinin nasıl çalıştığını anlamak için sıfırdan bir tane oluşturabilirsiniz.

Bir REST API oluşturmak için Django REST çerçevesini kullanabilir ve bunu bir veritabanındaki verileri görüntülemek için kullanabilirsiniz.

Django’yu REST API ile Kullanmak

HTTP üzerinden yapılandırılmış verileri getirmek için bir REST API kullanabilirsiniz . Birçok dil ve çerçeve gibi, Django da kendi API’nizi oluşturmanıza ve diğerlerini tüketmenize izin verir.

Ayrıca aşağıdakilerin önceden yüklenmiş olması gerekir:

  • Python’un en son sürümü.
  • pip’in en son sürümü .
  • Pipenv (isterseniz bunun yerine venv kullanabilirsiniz.)
  • Django’nun en son sürümü.
  • Gerekli tüm yazılımları yükledikten sonra başlamaya hazırsınız.

1. Django REST Çerçevesini Kurun

Django REST çerçevesi, web API’leri oluşturmak ve yapılandırmak için kullanabileceğiniz güçlü bir araç takımıdır. Özelleştirilebilir özellikleri, REST API’leri oluşturmak için onu popüler bir seçim haline getirir.

Django REST çerçevesini aşağıdaki komutla kurabilirsiniz:

pipenv install djangorestframework

2. Bir Django Uygulaması Oluşturun

Aşağıdaki talimatlar, popüler Kenya yemeklerinin adlarını ve açıklamalarını toplamak için bir yemek uygulamasının nasıl oluşturulacağını açıklayacaktır. API, kullanıcıların bu verilerle etkileşime girmesini sağlamak için bir veritabanından istekleri alır.

Django uygulamaları bir SQLite veritabanı ile donatılmıştır, bu nedenle başka bir veritabanı yüklemeniz gerekmez.

Bir Django uygulaması oluşturmak için önce aşağıdaki komutla food adlı bir proje oluşturun:

django-admin startproject food

Ardından, kenyanfood adlı bir Django uygulaması oluşturun :

django-admin startapp kenyanfood

3. Uygulama Projesi Ayarlarını Kaydedin

Kenyafood uygulamasını INSTALLED APPS dizisinin altındaki proje ayarlarına kaydedin . Bu adımı atlarsanız, Django uygulamayı tanımayacaktır. Ayrıca, Django REST çerçevesini aynı ayarlarda kaydedin:

# Application definition

INSTALLED_APPS = [

    ‘django.contrib.admin’,

    ‘django.contrib.auth’,

    ‘django.contrib.contenttypes’,

    ‘django.contrib.sessions’,

    ‘django.contrib.messages’,

    ‘django.contrib.staticfiles’,

    ‘kenyanfood’,

    ‘rest_framework’,

]

4. Uygulama URL’lerini Kaydedin

Kenyafood uygulama URL’lerini aşağıda gösterildiği gibi proje urls.py dosyasına kaydedin :

from django.contrib import admin

from django.urls import path, include

urlpatterns = [

    path(‘admin/’, admin.site.urls),

    path(”, include(‘kenyanfood.urls’)),

]

5. API için bir Görünüm Oluşturun

Uygulamanın hata oluşturmaması için uygulamanın views.py dosyasında sahte bir görünüm oluşturun . İlk olarak, Django REST çerçevesinden Response nesnesini ve @apiview dekoratörünü içe aktarın.

Yanıt , @apiview API’yi görüntülerken, sterilize edilmiş verilerin JSON biçiminde döndürülmesine yardımcı olur .

from django.shortcuts import render

from rest_framework.response import Response

from rest_framework.decorators import api_view

# Create your views here.

@api_view([‘GET’])

def getFood(request):

    return Response()

6. Uygulama için bir URL Yolu Oluşturun

Oluşturduğunuz API görünümü için bir URL yolu oluşturun. Bu uç nokta, kenyanfood verilerini görüntüler.

from django.urls import path

from . import views

from django.conf import settings

urlpatterns = [

    path(”, views.getFood),

    path(‘post/’, views.postFood),

]

7. Uygulama İçin Bir Model Oluşturun

Django REST Framework ile REST API Oluşturun

Uygulamanın model sınıfına Yiyecek denir . Şöyle görünmelidir:

from django.db import models

# Create your models here.

class Food(models.Model):

    name = models.CharField(max_length=200)

    description = models.CharField(max_length=500)

Modeli aşağıda gösterildiği gibi app admin.py dosyasına kaydedin:

from django.contrib import admin

from .models import Food

# Register your models here.

admin.site.register(Food)

8. Göç Yapın

Ardından, SQLite veritabanında tablolar oluşturmak için uygulamayı taşıyın . Bunu aşağıdaki komutu kullanarak yapabilirsiniz:

python manage.py makemigrations kenyanfood

Ardından, bu komutu çalıştırarak bu geçişleri uygulayın:

python manage.py migrate

Başarılı bir geçiş şöyle görünecektir:

Başarılı geçişler, veritabanının kenyanfood Uygulaması için tablolar oluşturduğu anlamına gelir .

9. Veritabanına Veri Ekleyin

Veritabanına veri girmek için Django admin GUI’sini kullanın. Django admin , uygulamanızın verilerini görselleştirmek ve yönetmek için harika bir arayüze sahiptir.

Alternatif olarak, verileri veritabanına manuel olarak girmek için komut satırındaki python kabuğunu kullanabilirsiniz. Bu kılavuzda Django yönetici arayüzünü kullanacaksınız.

Django admin’i kurmak için aşağıdaki komutu kullanın:

python manage.py createsuperuser

İstendiğinde, kullanıcı adınızı, e-posta adresinizi ve şifrenizi girin . Daha sonra aşağıdaki bağlantıyı kullanarak yönetici sayfasını açabilirsiniz:

http://127.0.0.1:8000/admin/

Giriş sayfasını göreceksiniz:

Giriş yaptığınızda, Gruplar ve Kullanıcılar modeli ile Django yönetim arayüzünü göreceksiniz . Bunların ikisi de kimlik doğrulama içindir; Gıda modeli aşağıdaki bölümdedir.

Yönetici sayfasından veritabanına Gıda öğeleri ekleyebilir ve silebilirsiniz . Ugali, Pilau ve Chai gibi bazı Kenya lezzetlerini veritabanına ekleyin.

Artık veritabanında veri olduğuna göre, API’yi oluşturun

10. Modeli Serileştirin

Serileştiriciler , karmaşık Django modellerini JSON nesnelerine dönüştürerek verilerin API’de kolayca okunmasını sağlar. Serileştirme, verileri API’de daha okunabilir hale getirir.

Uygulamada serializer.py adlı yeni bir dosya oluşturun

from rest_framework import serializers

from .models import Food

class FoodSerializer(serializers.ModelSerializer):

    class Meta:

        model=Food

        fields=(‘name’,’description’)

Rest_framework paketinden serileştiriciler modülünü içe aktarır ve ModelSerializer sınıfından miras alan bir FoodSerializer sınıfı oluşturursunuz.

Ardından, serileştirmek istediğiniz Gıda modelini ve API’ye eklemek istediğiniz alanları belirtin.

11. Görünümü Güncelleyin

Django REST Framework ile REST API Oluşturun

Ardından, seri hale getirici ve Gıda modelleriyle API görünümünü güncelleyin .

İlk olarak, Food.Objects.all() işleviyle veritabanından tüm verileri almak için bir GET yöntemi tanımlayın . Ardından verileri seri hale getirin ve JSON biçiminde bir yanıt olarak döndürün.

from django.shortcuts import render

from rest_framework.response import Response

from rest_framework.decorators import api_view

from .models import Food

from .serializer import FoodSerializer

# Create your views here.

@api_view([‘GET’])

def getFood(request):

    food = Food.objects.all()

    serializer = FoodSerializer(food, many=True)

    return Response(serializer.data)

Ardından, sunucu URL bağlantısına gidin:

https://127.0.0.1:8000/

API’nin veritabanındaki verileri gösterdiğini göreceksiniz:

Resim, Django-rest çerçevesinin tarayıcıda API verilerini nasıl görüntülediğini gösterir

Tebrikler, bir REST API oluşturdunuz!

12. POST Yöntemiyle Veri Ekleme

Veritabanına veri eklemek için REST API’yi kullanıp kullanamayacağınızı test edin.

İlk olarak, görünümde bir POST yöntemi tanımlayın .

@api_view([‘POST’])

def postFood(request):

    serializer = FoodSerializer(data=request.data)

    if serializer.is_valid():

        serializer.save()

    return Response(serializer.data)

Ardından, API POST işlevi için bir uç nokta oluşturmak üzere urls.py uygulamasına bir yol ekleyin .

urlpatterns = [

    path(”,views.getFood),

    path(‘post/’,views.postFood),

]

Ardından, bu URL’ye gidin:

https://127.0.0.1:8000/post

POST bitiş noktasını göreceksiniz . İçerik bölümünde veri tabanına JSON formatında veri ekleyin ve POST butonuna tıklayın. Örneğin, bu yapıya sahip yeni bir gıda maddesi ekleyin:

{ “name”:”Maziwa mala”, “description”:”Sour milk” }

JSON formatında kırmızı olarak görüntülenen verileri göreceksiniz .

POST uç noktası aracılığıyla veritabanına gönderilen resim gösterisi verileri

Şimdi, GET bitiş noktasına geri giderseniz http :// 127 . 0 . 0 . 1 : 8000 / , ‘ Maziwa mala ‘ yemeğini göreceksiniz ve açıklaması eklendi.

Resim, POST uç noktasından eklenen veritabanındaki verileri gösteren GET uç noktasını gösterir

Artık uygulamaya öğe ekleyebilen ve görüntüleyebilen bir REST API’niz var. Diğer CRUD yöntemlerini denemeye ne dersiniz ? UPDATE ve DELETE yöntemleriyle çalışmak , REST API’nizin işlevselliğini artıracaktır.

Django ile REST API Nasıl Oluşturulur

Artık Django kullanarak bir REST API oluşturabilirsiniz. İlk olarak, bir modele sahip bir Uygulama oluşturun, verileri seri hale getirin ve bir görünüm işlevi oluşturun. Ardından, verileri JSON biçiminde görselleştirmek için URL uç noktalarını ekleyin.

Django REST çerçevesiyle REST API’leri oluşturmak, verileri paylaşmanın ve kullanıcılarınıza harika bir müşteri deneyimi sunmanın uygun bir yoludur.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir