Django REST Framework Nedir?
Django REST Framework (DRF), Django ile API geliştirmek için harika bir araçtır. Django'nun gücünü ve esnekliğini alarak, API'ler oluşturmanıza olanak tanır. Eğer Django ile daha önce çalıştıysanız, DRF ile tanıştığınızda ne kadar kolay olduğunu göreceksiniz. Her şey o kadar akıcı ki, sanki sadece birkaç adımda profesyonel bir API oluşturabilirsiniz.
Django REST Framework, istemci ve sunucu arasında veri alışverişi sağlamak için çok güçlü bir yapı sunar. API’ler, uygulamanın dış dünyayla iletişim kurmasını sağlayan köprülerdir. Web uygulamalarınızda RESTful servisler yaratmak istiyorsanız, DRF bu iş için biçilmiş kaftan.
DRF ile API Geliştirmeye Başlamak
Django'nun temellerini öğrenmişseniz, Django REST Framework ile API oluşturmak oldukça basittir. Adım adım ilerleyecek olursak:
1. Django Projesi Oluşturma:
İlk olarak Django projenizi oluşturun. Eğer Django yüklü değilse, terminal üzerinden şu komut ile yükleyebilirsiniz:
pip install django
Django projenizi başlatmak için:
django-admin startproject myproject
cd myproject
python manage.py startapp myapp
2. Django REST Framework’ü Yüklemek:
Şimdi DRF'yi yükleme zamanı. Yine terminalden şu komut ile Django REST Framework'ü projenize dahil edin:
pip install djangorestframework
3. Uygulama Ayarları:
DRF'i kullanabilmek için, `INSTALLED_APPS` kısmına `rest_framework`'ü eklemeniz gerekiyor. Bunun için `settings.py` dosyasını açın ve şu şekilde ekleme yapın:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework', # Burayı ekledik
]
Model Oluşturma
Artık Django projenize bir model eklemeye hazırsınız. Mesela, basit bir "Kitap" modeli oluşturalım:
from django.db import models
class Kitap(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
description = models.TextField()
def __str__(self):
return self.title
Şimdi, `makemigrations` ve `migrate` komutlarını kullanarak veritabanında bu modeli oluşturalım:
python manage.py makemigrations
python manage.py migrate
Serializer Oluşturma
Modeli API'ye dönüştürebilmek için, Django REST Framework'te Serializer kullanılır. Kitap modelimizi dışa aktarmak için şu serializer'ı ekleyelim:
from rest_framework import serializers
from .models import Kitap
class KitapSerializer(serializers.ModelSerializer):
class Meta:
model = Kitap
fields = ['id', 'title', 'author', 'description']
Bu serializer, kitabın id’si, başlığı, yazarı ve açıklamasını döndürecektir.
ViewSet ve URL'ler
Verileri dışarıya açmak için bir ViewSet oluşturmalısınız. DRF ile oldukça kolay bir şekilde viewset yazabilirsiniz:
from rest_framework import viewsets
from .models import Kitap
from .serializers import KitapSerializer
class KitapViewSet(viewsets.ModelViewSet):
queryset = Kitap.objects.all()
serializer_class = KitapSerializer
Son olarak, bu viewset’i URL’lere bağlamak için bir `router` kullanmamız gerekiyor:
from rest_framework.routers import DefaultRouter
from .views import KitapViewSet
router = DefaultRouter()
router.register(r'kitaplar', KitapViewSet)
urlpatterns = [
path('api/', include(router.urls)),
]
Bunları yaptıktan sonra, `http://localhost:8000/api/kitaplar/` adresine giderek kitaplarınızın listesine erişebilirsiniz. Artık API’niz hazır!
Sonuç
Django REST Framework, Django ile API geliştirmeyi son derece kolaylaştıran güçlü bir araçtır. Model, serializer, viewset ve router kullanarak hızlıca RESTful API’ler oluşturabilirsiniz. Django'nun sağlam yapısı ve DRF'in sunduğu esneklikle API geliştirme süreciniz, düşündüğünüzden çok daha hızlı ve verimli olacaktır.
Daha fazla özellik keşfetmek ve DRF’in sunduğu olanaklardan yararlanmak için dökümantasyonu incelemeyi unutmayın!