Django REST Framework Nasıl Kullanılır? Başlangıç Rehberi

Django REST Framework ile API geliştirme sürecini adım adım keşfedin. Bu rehber, Django'yu ve DRF'yi kullanarak basit bir API oluşturmanın temellerini atmanıza yardımcı olacak.

BFS

Django, web geliştirme dünyasında çok sevilen bir Python framework'üdür. Ancak, günümüzün web uygulamalarında sadece sunucu tarafı işlemleri yeterli değildir. Müşterilerle etkili bir şekilde iletişim kurmak için API'ler çok önemli bir yer tutar. İşte burada Django REST Framework (DRF) devreye girer. DRF, Django'nun gücünü ve esnekliğini alır ve API'ler oluşturmayı çok daha kolay hale getirir. Bugün, bu harika aracı nasıl kullanabileceğinizi keşfedeceğiz.

Django REST Framework Nedir?


Django REST Framework, Django ile API'ler geliştirmek için kullanılan açık kaynaklı bir kütüphanedir. RESTful API'ler oluşturmak için gereken tüm araçları sağlar. DRF, CRUD (Create, Read, Update, Delete) işlemleri için hızlı bir şekilde RESTful servisleri yapılandırmanıza olanak tanır. Bu, geliştiricilerin veritabanı ile etkileşimde bulunurken ve istemcilerle veri paylaşırken daha az zaman harcamasını sağlar.

Başlangıç: Django ve Django REST Framework Kurulumu


Django REST Framework kullanmaya başlamadan önce, öncelikle Django'yu kurmamız gerekir. Django'yu ve DRF'yi kurmak için terminal üzerinden şu komutları kullanabilirsiniz:


pip install django
pip install djangorestframework


Bu işlem, Django'yu ve DRF'yi sisteminize yükleyecektir.

Yeni Bir Django Projesi Oluşturma


Şimdi, Django projemizi oluşturalım. Yeni bir proje başlatmak için terminalde aşağıdaki komutu kullanabilirsiniz:


django-admin startproject myproject
cd myproject


Bu komut, yeni bir Django projesi oluşturur ve içine geçiş yapar. Şimdi bu projeye bir uygulama ekleyebiliriz. Örneğin, `api` adlı bir uygulama ekleyelim:


python manage.py startapp api


Django REST Framework ile İlk API Endpoint'ini Oluşturma


Şimdi sırada, basit bir API endpoint’i oluşturma var. Öncelikle, `api` uygulamamızda bir model oluşturalım. Diyelim ki bir Kitap modelimiz olacak. Bu modeli `models.py` dosyasına ekleyelim:


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


Bu model, kitaplar için başlık, yazar ve yayınlanma tarihi gibi temel bilgileri içeriyor. Şimdi bu modelin verilerini alacak bir API endpoint’i oluşturalım.

Öncelikle `serializers.py` dosyasını oluşturalım ve kitabın modelini API'ye uyumlu hale getirelim. `api` uygulamanızda `serializers.py` dosyasını oluşturun ve içine şu kodu ekleyin:


from rest_framework import serializers
from .models import Book

class BookSerializer(serializers.ModelSerializer):
    class Meta:
        model = Book
        fields = ['id', 'title', 'author', 'published_date']


Bu sınıf, Book modelinin verilerini alıp JSON formatına dönüştürür. Şimdi, bu veriyi geri döndüren bir API view'ı oluşturalım.

`views.py` dosyasına şu kodu ekleyin:


from rest_framework.views import APIView
from rest_framework.response import Response
from .models import Book
from .serializers import BookSerializer

class BookList(APIView):
    def get(self, request):
        books = Book.objects.all()
        serializer = BookSerializer(books, many=True)
        return Response(serializer.data)


Bu view, `GET` isteği aldığında tüm kitapları döndürecektir. Şimdi URL'leri yapılandıralım. `urls.py` dosyasına şu kodu ekleyin:


from django.urls import path
from .views import BookList

urlpatterns = [
    path('books/', BookList.as_view(), name='book-list'),
]


API'yi Test Etme


Tüm işlemleri tamamladıktan sonra, sunucuyu başlatabiliriz:


python manage.py runserver


Artık `http://127.0.0.1:8000/books/` adresine giderek oluşturduğumuz API'yi test edebilirsiniz. Eğer her şey doğru şekilde yapılandırılmışsa, JSON formatında kitaplarınızın listelendiğini görmelisiniz.

Django REST Framework ile Güvenlik


Bir API geliştirirken güvenlik oldukça önemlidir. Django REST Framework, API güvenliğini sağlamak için birçok seçenek sunar. Örneğin, Token Authentication kullanarak, kullanıcıların doğrulanmasını sağlayabilirsiniz. Bunun için şu adımları izleyebilirsiniz:

Öncelikle, DRF'nin authentication özelliğini aktif hale getirin. Bunun için `settings.py` dosyasına şu kodu ekleyin:


INSTALLED_APPS = [
    # Diğer uygulamalar
    'rest_framework.authtoken',
]

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.TokenAuthentication',
    ],
}


Sonrasında kullanıcıların token oluşturabilmesi için, şu komutu çalıştırarak gerekli migrations işlemini yapın:


python manage.py migrate


Artık, kullanıcılarınız API'ye token ile giriş yapabilir. Bunun için token oluşturma işlemi için DRF'nin sağladığı `obtain_auth_token` view'ını kullanabilirsiniz.

Sonuç


Django REST Framework, Django ile API geliştirmeyi son derece kolaylaştırır. Bu yazıda, Django REST Framework ile temel bir API nasıl oluşturulur, güvenlik nasıl sağlanır gibi konuları ele aldık. Artık, Django'nun gücünü kullanarak API geliştirmek sizin için daha erişilebilir ve verimli.

Django ve DRF'nin sunduğu esneklik ve güçlü özellikler sayesinde, daha büyük ve daha karmaşık API projeleri üzerinde çalışmak oldukça eğlenceli hale gelir. Kendi projelerinizi oluştururken bu rehberden faydalanabilirsiniz.

İ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...