Django REST Framework Kullanımı: Adım Adım Rehber

Bu rehberde, Django REST Framework kullanarak temel bir API oluşturmayı ve ilk endpoint'inizi oluşturmayı öğrendiniz. Django ile API geliştirme süreci oldukça basit ve etkili bir şekilde yapılabiliyor.

BFS

Django, Python ile web geliştirenlerin en sevdiği framework'lerden birisi haline gelmişken, Django REST Framework (DRF), API geliştirme konusunda güçlü bir araç olarak karşımıza çıkıyor. Django’nun sunduğu avantajları, RESTful servisler oluşturmak için daha da kullanışlı hale getiren DRF, günümüzde birçok web ve mobil uygulamanın temel yapı taşlarından birini oluşturuyor. Eğer siz de Django ile API geliştirmeyi öğrenmek istiyorsanız, doğru yerdesiniz!

1. Django REST Framework Nedir?



Django REST Framework, Django için geliştirilmiş, RESTful API'ler oluşturmanıza olanak tanıyan bir kütüphanedir. Bu kütüphane sayesinde, veritabanınızla kolayca etkileşime giren, verileri JSON veya XML formatında dönen bir API oluşturabilirsiniz. Django’nun sunduğu esneklik ve güçlü admin panelinin yanında, DRF de size bir API oluşturmanın kolay ve hızlı yollarını sunar.

2. Django REST Framework'ü Projeye Dahil Etme



Başlamak için, öncelikle Django projenize DRF'yi dahil etmeniz gerekiyor. Bunu yapmak için terminal üzerinden şu komutu çalıştırabilirsiniz:


pip install djangorestframework


Bu komut, DRF'yi proje ortamınıza yükleyecektir. Şimdi, bu kütüphaneyi Django projenize dahil edelim. Bunun için `settings.py` dosyanıza gidip, `INSTALLED_APPS` listesine şu satırı ekleyin:


'rest_framework',


Artık Django projeniz DRF'yi tanıyacak ve API geliştirmeye hazır!

3. İlk API Endpoint'inizi Oluşturun



Şimdi de DRF kullanarak basit bir API endpoint'i oluşturalım. Örneğin, bir blog uygulaması için blog yazılarını listelemek isteyelim. İlk olarak bir model oluşturmak gerekiyor.

Django'nun `models.py` dosyasına şu modeli ekleyelim:


from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title


Burada, her yazı için bir başlık, içerik ve oluşturulma zamanı belirledik. Şimdi bu modeli veritabanına eklemek için terminalden şu komutları çalıştıralım:


python manage.py makemigrations
python manage.py migrate


Modelimiz hazır! Şimdi bu model için bir API endpoint’i oluşturacağız.

4. Serializer Oluşturma



Django REST Framework’te veritabanı modelleri ile API arasındaki bağlantıyı sağlayan araçlara "serializer" denir. Serializer, veritabanı modelinizi JSON formatında temsil etmenize olanak sağlar.

Bunu yapmak için yeni bir dosya oluşturalım: `serializers.py`


from rest_framework import serializers
from .models import Post

class PostSerializer(serializers.ModelSerializer):
    class Meta:
        model = Post
        fields = '__all__'


Burada, `PostSerializer` sınıfı, `Post` modelini serileştirecek ve tüm alanlarını içerecek şekilde ayarlandı.

5. Views Oluşturma



Artık API endpoint'ini oluşturmak için bir `view` sınıfı yazabiliriz. Bunun için DRF'nin sunduğu `APIView` veya `viewsets.ModelViewSet` gibi sınıfları kullanabiliriz. Şimdi, `views.py` dosyasına şu kodu ekleyelim:


from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from .models import Post
from .serializers import PostSerializer

class PostList(APIView):
    def get(self, request):
        posts = Post.objects.all()
        serializer = PostSerializer(posts, many=True)
        return Response(serializer.data)


Bu sınıf, `GET` isteğiyle veritabanındaki tüm blog yazılarını alacak ve JSON formatında döndürecek. Artık yazıları listeleyebileceğimiz bir endpoint'imiz var!

6. URL Yönlendirmesi



Son olarak, bu view'i bir URL ile ilişkilendirelim. `urls.py` dosyasına gidip şu satırı ekleyelim:


from django.urls import path
from .views import PostList

urlpatterns = [
    path('api/posts/', PostList.as_view(), name='post-list'),
]


Artık `/api/posts/` endpoint'i üzerinden blog yazılarımıza erişebiliriz!

7. API'yi Test Etme



Django'yu çalıştırarak API'yi test edebiliriz. Terminalde şu komutu çalıştırarak projeyi başlatın:


python manage.py runserver


Tarayıcınızda `http://localhost:8000/api/posts/` adresine giderek blog yazılarınızı görebilirsiniz. JSON formatında dönen veriyi rahatça inceleyebilirsiniz.

Sonuç



Django REST Framework ile ilk API'nizi oluşturmak gerçekten çok basit. Gerekli adımları takip ederek hızlıca çalışır durumda bir API oluşturabilirsiniz. Artık veritabanı modelinizi dış dünyaya açmak, verileri JSON formatında almak ve göndermek için bu güçlü framework’ü kullanabilirsiniz.

Bu yazıda, Django ve Django REST Framework kullanarak temel bir API nasıl oluşturulur öğrendik. Eğer daha ileri seviyeye geçmek isterseniz, autentikasyon, yetkilendirme ve CRUD işlemleri gibi konuları da öğrenmeye devam edebilirsiniz.

İlgili Yazılar

Benzer konularda diğer yazılarımız

ASP.NET Core ile Mobil Uygulama Geliştirme: Cross-Platform Web ve Mobil Uygulama Birleştirme

Günümüzde mobil uygulamalar hayatımızın ayrılmaz bir parçası haline geldi. Akıllı telefonlarımızda geçirdiğimiz zamanın büyük bir kısmını mobil uygulamalar sayesinde geçiriyoruz. Peki, bir mobil uygulama geliştirirken karşılaştığımız zorlukları nasıl...

ASP.NET Core 500 Internal Server Error: Sebepleri ve Çözümleri

Bir web geliştiricisi olarak, karşılaştığınız en zorlayıcı hatalardan biri şüphesiz "500 Internal Server Error"dır. Bu hata, web uygulamanızda her şeyin yolunda gittiğini düşündüğünüz bir anda karşınıza çıkabilir ve tüm projeyi durdurabilir. Ancak merak...

OAuth2 Authentication Error: Nedenleri ve Çözümleri

OAuth2 Authentication Error: Gerçekten Neyin Peşindeyiz?Her geliştirici, kimlik doğrulama hatalarıyla bir noktada karşılaşmıştır. Ama bazen işler kontrolden çıkabiliyor. Eğer bir gün OAuth2 ile çalışırken bir kimlik doğrulama hatası aldığınızda, yalnız...