Bugün sana Django REST Framework (DRF) ile hızlı ve verimli bir şekilde API nasıl geliştirilir, adım adım göstereceğim. Django'nun popülerliği her geçen gün artıyor, özellikle hızlı backend geliştirmek isteyenler için mükemmel bir seçenek. Django'nun sunduğu sağlam yapı ile DRF birleştiğinde, hem geliştiriciye zaman kazandırıyor hem de güçlü, ölçeklenebilir API'ler ortaya çıkıyor.
Hadi başlayalım!
Django REST Framework Nedir?
Eğer Django ile tanıştıysanız, o zaman DRF’i de öğrenmek çok kolay olacak. DRF, Django'yu kullanarak REST API'leri oluşturmayı adeta çocuk oyuncağı haline getiriyor.
Django REST Framework Kurulumu
pip install djangorestframework
Kurulum tamamlandığında, Django projenizin `settings.py` dosyasına gidin ve `INSTALLED_APPS` listesine şu satırı ekleyin:
'rest_framework',
Bu kadar! Django REST Framework projenize başarıyla entegre edilmiş oldu.
API Görünümünü (View) Oluşturma
Önce, `models.py` dosyasına şu modeli ekleyelim:
from django.db import models
class User(models.Model):
name = models.CharField(max_length=100)
email = models.EmailField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.name
Modeli oluşturduktan sonra, veritabanı migration işlemini gerçekleştirelim:
python manage.py makemigrations
python manage.py migrate
Şimdi, API’miz için bir view oluşturalım. Django REST Framework, API görünümü oluşturmanın birkaç farklı yolunu sunuyor. Bunlardan en basiti function-based views. Hemen bir `views.py` dosyasında şunu ekleyelim:
from rest_framework.decorators import api_view
from rest_framework.response import Response
from .models import User
from .serializers import UserSerializer
@api_view(['GET'])
def user_list(request):
users = User.objects.all()
serializer = UserSerializer(users, many=True)
return Response(serializer.data)
Burada, `user_list` fonksiyonu veritabanındaki tüm kullanıcıları alıp JSON formatında döndüren basit bir API'yi temsil ediyor. Şimdi, sırada serializer'ımızı yazmak var.
Serializer ile Veriyi JSON’a Çevirmek
from rest_framework import serializers
from .models import User
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ['id', 'name', 'email', 'created_at']
Bu serializer, `User` modelini alır ve istediğimiz alanları JSON formatına dönüştürür. Artık, bu veriyi bir API olarak sunabiliriz!
URL’leri Tanımlamak
from django.urls import path
from . import views
urlpatterns = [
path('users/', views.user_list, name='user_list'),
]
Bu URL ile `/users/` endpoint’i üzerinden kullanıcıları listeleyen API’mizi erişilebilir hale getirmiş olduk.
API’ye İstek Gönderme
python manage.py runserver
Tarayıcınızda `http://127.0.0.1:8000/users/` adresine giderek, kullanıcıların JSON formatında döndüğünü görebilirsiniz.
Güvenlik ve İleri Seviye Özellikler
Django REST Framework'ün gücünü tam anlamıyla kullanabilmek için şu özelliklere göz atabilirsiniz:
- Token Authentication
- ViewSetler
- Pagination
- Filter ve Search
- Throttling ve Rate Limiting
Bunlar, API’nizin ölçeklenebilirliğini artıracak ve kullanıcılarınıza güvenli bir deneyim sunacaktır.
Sonuç
Umarım bu yazı, Django REST Framework’ü öğrenmeye başlamak için sana ilham verir. Şimdi, kendi projelerinde DRF kullanarak harika API'ler geliştirme sırası sende!