Django REST Framework Nedir?
Django, Python ile web geliştirmede oldukça popüler bir framework. Ancak zaman zaman web uygulamanızın yalnızca bir sayfa değil, farklı sistemlerle de iletişim kurmasını isteyebilirsiniz. İşte burada Django REST Framework devreye giriyor! Django REST Framework (DRF), Django uygulamalarına hızlıca RESTful API’ler eklemenizi sağlar. Bu sayede, veri paylaşımını kolaylaştırabilir ve farklı platformlar arasında iletişimi sağlıklı bir şekilde kurabilirsiniz.
Peki, bu kadar etkili bir araç olan Django REST Framework ile nasıl API geliştirebiliriz? Gelin, adım adım başlayalım!
Adım 1: Django Projesi Oluşturun
İlk olarak, Django projesini kurmamız gerekiyor. Eğer Django’yu sisteminizde henüz kurmadıysanız, terminal üzerinden aşağıdaki komutla yükleyebilirsiniz:
pip install django
Daha sonra, yeni bir Django projesi başlatmak için şu komutları takip edebilirsiniz:
django-admin startproject myproject
cd myproject
python manage.py startapp myapp
Artık temel bir Django projeniz hazır! Şimdi sıradaki adıma geçelim.
Adım 2: Django REST Framework’ü Yükleyin
Şimdi, Django REST Framework’ü projemize dahil etmemiz gerekiyor. Bunun için terminalde aşağıdaki komutu çalıştırabilirsiniz:
pip install djangorestframework
Yükleme işlemi tamamlandığında, `INSTALLED_APPS` listesine `rest_framework`’ü eklemeniz gerekecek. Bu işlemi, `myproject/settings.py` dosyasındaki `INSTALLED_APPS` bölümüne şu satırı ekleyerek yapabilirsiniz:
INSTALLED_APPS = [
# Diğer yüklü uygulamalarınız
'rest_framework',
]
Adım 3: Serializer'ları Oluşturun
API’nizin çalışabilmesi için Django modelinizi JSON formatına dönüştürmeniz gerekiyor. Bunu yapmak için, Django REST Framework’ün sunduğu serializers kullanacağız. Bir serializer, Python objelerini JSON’a çevirip, JSON verilerini Python objelerine dönüştürmemizi sağlar.
Örneğin, `myapp/models.py` dosyanızda şöyle bir modeliniz olduğunu varsayalım:
from django.db import models
class Kitap(models.Model):
baslik = models.CharField(max_length=100)
yazar = models.CharField(max_length=100)
fiyat = models.DecimalField(max_digits=6, decimal_places=2)
def __str__(self):
return self.baslik
Bu modeli JSON formatına dönüştürebilmek için bir serializer oluşturuyoruz. `myapp/serializers.py` dosyasına şu kodu ekleyebilirsiniz:
from rest_framework import serializers
from .models import Kitap
class KitapSerializer(serializers.ModelSerializer):
class Meta:
model = Kitap
fields = '__all__'
Artık modelinizi JSON formatında kolayca alabiliriz!
Adım 4: API View'lerini Oluşturun
Geliştirdiğimiz API'yi görmek için bir view oluşturmalıyız. DRF ile, API view'leri yazmak oldukça basit. `myapp/views.py` dosyasına gidin ve aşağıdaki kodu ekleyin:
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from .models import Kitap
from .serializers import KitapSerializer
class KitapListAPIView(APIView):
def get(self, request):
kitaplar = Kitap.objects.all()
serializer = KitapSerializer(kitaplar, many=True)
return Response(serializer.data, status=status.HTTP_200_OK)
Bu kod, veritabanındaki tüm kitapları alacak ve onları JSON formatında döndürecek.
Adım 5: URL Yapılandırmasını Yapın
Artık API view’lerimiz hazır, fakat bu view’lere nasıl ulaşacağız? Bunun için `urls.py` dosyasını güncellememiz gerekiyor. `myapp/urls.py` dosyasını oluşturun (eğer yoksa) ve şu kodu ekleyin:
from django.urls import path
from .views import KitapListAPIView
urlpatterns = [
path('kitaplar/', KitapListAPIView.as_view(), name='kitap-listesi'),
]
Bu adımla, `/kitaplar/` URL’sine gelen isteklerde, kitapların listelendiği JSON formatında bir yanıt alacağız.
Adım 6: API'nizi Test Edin
Tüm bu adımları tamamladıktan sonra API’nizi test etmeye hazırsınız! Django’nun gelişmiş sunucusunu çalıştırmak için şu komutu kullanabilirsiniz:
python manage.py runserver
Web tarayıcınızda `http://127.0.0.1:8000/kitaplar/` adresine giderek kitapların listelendiği JSON yanıtını görmelisiniz. Eğer doğru şekilde yapılandırdıysanız, API’niz hazır!
Sonuç: API'niz Hazır!
Ve işte bu kadar! Django REST Framework ile ilk API’nizi başarıyla oluşturmuş oldunuz. Geliştirdiğiniz API, Django’nun gücünden yararlanarak verilerinizi güvenli bir şekilde sunmanıza olanak tanıyor. İster web, ister mobil uygulamalarınızda kullanabileceğiniz bu API’yi daha da özelleştirerek büyütebilirsiniz.
Unutmayın! Django REST Framework, size çok güçlü bir araç sunuyor ve kullanmaya başladıkça daha fazlasını keşfedeceksiniz.