Django, güçlü ve esnek yapısıyla web uygulamaları geliştirmek için sıklıkla tercih edilen bir framework'tür. Ancak bazen sadece bir web sitesi değil, aynı zamanda başka sistemlerle de iletişim kurmak istediğimiz API'lere de ihtiyacımız olur. İşte tam burada Django REST Framework (DRF) devreye giriyor.
Django REST Framework Nedir?
Django REST Framework, Django ile API'ler oluşturmayı kolaylaştıran bir araçtır. Web uygulamanızı geliştirirken API'ler (Application Programming Interface) kullanarak farklı sistemlerle veri paylaşabilir, veri alabilir ve kullanıcı etkileşimlerini yönlendirebilirsiniz. DRF, bu işlemi çok daha basit ve anlaşılır hale getiriyor.
Şimdi, Django REST Framework kullanarak basit bir API nasıl yapılır, adım adım keşfetmeye başlayalım.
Adım 1: Django Projesi Oluşturmak
pip install django
Ardından, yeni bir proje oluşturmak için şu komutu çalıştırın:
django-admin startproject myproject
Adım 2: Django REST Framework Kurulumu
pip install djangorestframework
Kurulum tamamlandıktan sonra, projemizin `settings.py` dosyasına gidip 'INSTALLED_APPS' listesine `'rest_framework'`'ü eklememiz gerekiyor:
INSTALLED_APPS = [
...
'rest_framework',
]
Adım 3: Model Oluşturma
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
published_date = models.DateField()
def __str__(self):
return self.title
Modelimizi oluşturduktan sonra, veritabanına eklemek için terminalde şu komutları çalıştırmamız gerekiyor:
python manage.py makemigrations
python manage.py migrate
Adım 4: Serializer Oluşturma
from rest_framework import serializers
from .models import Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = ['id', 'title', 'author', 'published_date']
Bu adımda `BookSerializer` sınıfı, modelimizin verilerini JSON formatına dönüştürür. Artık bu veriyi dışarıya açabiliriz.
Adım 5: ViewSet ve URL'leri Ayarlama
from rest_framework import viewsets
from .models import Book
from .serializers import BookSerializer
class BookViewSet(viewsets.ModelViewSet):
queryset = Book.objects.all()
serializer_class = BookSerializer
Şimdi, bu ViewSet'i URL'lerle bağlayacağız. Django'nun `urls.py` dosyasına gidip aşağıdaki gibi bir URL tanımlaması yapmalıyız:
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import BookViewSet
router = DefaultRouter()
router.register(r'books', BookViewSet)
urlpatterns = [
path('api/', include(router.urls)),
]
Bu adımda, `BookViewSet`'imizi `/api/books/` URL'ine bağlamış olduk. Artık API'miz çalışıyor!
Adım 6: API'yi Test Etme
python manage.py runserver
Sunucu çalışmaya başladığında, tarayıcınızda `http://127.0.0.1:8000/api/books/` adresine giderek API'nizin düzgün çalışıp çalışmadığını kontrol edebilirsiniz.
Sonuç
İşte karşınızda, Django REST Framework ile basit bir API oluşturma süreci! Django'nun güçlü yapısı ve Django REST Framework'ün sunduğu kolaylıklar sayesinde, karmaşık API'ler oluşturmak oldukça hızlı ve eğlenceli bir hale geliyor.
Bu yazıda öğrendiklerinizle, kendi projelerinize kolayca API entegrasyonları yapabilirsiniz. Unutmayın, her zaman test etmeyi ve dökümantasyonu incelemeyi unutmayın!