Django REST Framework Nasıl Kullanılır? Adım Adım Rehber

Django REST Framework ile hızlıca API geliştirmek isteyenler için adım adım bir rehber. Django ve DRF'nin temel özelliklerini öğrenerek API oluşturmayı keşfedin.

BFS

Django, Python dünyasının en sevilen web frameworklerinden biri. Eğer siz de Django ile web uygulamaları geliştirmeye başlamışsanız, bir sonraki adım olarak API geliştirmeyi düşünmeye başlamış olabilirsiniz. İşte burada Django REST Framework (DRF) devreye giriyor. Django REST Framework, Django ile güçlü ve esnek bir REST API oluşturmak için kullanılan bir kütüphanedir. Bu yazıda, Django REST Framework’ü adım adım nasıl kullanacağınızı keşfedeceğiz.

Django REST Framework Nedir?

Django REST Framework, Django projeleri için güçlü bir API geliştirme aracıdır. RESTful API’ler oluşturmanıza olanak tanır, bu da web uygulamalarınızın mobil uygulamalar veya başka web uygulamalarıyla iletişim kurmasını sağlar. Kısacası, verilerinizi internet üzerinden alıp gönderebileceğiniz bir köprü inşa eder. Eğer Django kullanarak API geliştirmeyi öğrenmek istiyorsanız, DRF tam size göre.

Django REST Framework Kurulumu

Başlamak için öncelikle DRF'yi projeye dahil etmemiz gerekiyor. Django projesinin kök dizininde terminali açın ve aşağıdaki komutu çalıştırın:


pip install djangorestframework


Yukarıdaki komut, Django REST Framework'ü yükleyecektir. Yükleme işlemi tamamlandıktan sonra, bu kütüphaneyi kullanabilmek için Django ayarlarımıza dahil etmemiz gerekecek. settings.py dosyasını açın ve aşağıdaki gibi `INSTALLED_APPS` listesine `rest_framework` ekleyin:


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


API Endpoint’lerini Oluşturma

Şimdi, Django REST Framework’ü kurduğumuza göre, verileri almak ve göndermek için bir API endpoint'i oluşturma zamanıdır. Diyelim ki basit bir modelimiz var: `Book`. Kitap bilgilerini alıp gönderecek bir API yapacağız.

Öncelikle, models.py dosyamıza `Book` modelini 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


Yukarıdaki modelde, bir kitabın başlığı, yazarı ve yayımlanma tarihi gibi bilgileri saklayacağız. Şimdi, bu modele ait bir API endpoint'i oluşturacağız.

Serializer ile Veri Dönüştürme

DRF ile çalışırken, verileri JSON formatında almak için serializer kullanmamız gerekiyor. serializers.py dosyasını oluşturup, aşağıdaki kodu ekleyelim:


from rest_framework import serializers
from .models import Book

class BookSerializer(serializers.ModelSerializer):
    class Meta:
        model = Book
        fields = '__all__'


Burada, `BookSerializer`, `Book` modelinden gelen verileri JSON formatına dönüştürecek bir serializer. `ModelSerializer`, Django’nun model sınıflarını kolayca seri hale getirmenin harika bir yoludur.

API Görünümleri (Views) Oluşturma

Şimdi ise, kitap bilgilerini almak için bir API görünümü (view) yazalım. views.py dosyasını açın ve aşağıdaki kodu ekleyin:


from rest_framework import generics
from .models import Book
from .serializers import BookSerializer

class BookListView(generics.ListCreateAPIView):
    queryset = Book.objects.all()
    serializer_class = BookSerializer


Burada, `BookListView`, kitapların bir listesini ve yeni bir kitap ekleme işlevini yerine getirecek. `ListCreateAPIView`, listelenmiş verileri gösterir ve aynı zamanda POST isteği ile veri eklenmesine olanak tanır.

URL’ler (URLs) ve Endpoint Oluşturma

Son olarak, oluşturduğumuz API’yi erişilebilir kılmak için URL yapılandırması yapmamız gerekiyor. urls.py dosyasını açın ve aşağıdaki gibi bir URL ekleyin:


from django.urls import path
from .views import BookListView

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


Bu URL, `/books/` endpoint’ini oluşturur. Artık `GET` ve `POST` istekleri ile kitap verilerini alabilir ve ekleyebilirsiniz.

API’yi Test Etme

Şimdi API’niz hazır. localhost:8000/books/ adresine giderek, bu API'yi test edebilirsiniz. Tarayıcıda veya Postman gibi araçlarla bu endpoint'e istek gönderdiğinizde, kitapların JSON formatında listelendiğini göreceksiniz. Ayrıca, bir kitap ekleyerek API'yi test edebilirsiniz.

Sonuç

Django REST Framework ile hızlıca etkili bir API oluşturabilirsiniz. Modelinizi tanımlayıp, serializer ve view’lar ile veriyi yönetebilir ve URL yapılandırmaları ile API endpoint'lerinizi oluşturabilirsiniz. Django'nun güçlü yapısı ve DRF’nin sunduğu kolaylıklar sayesinde web uygulamalarınızda API geliştirmek artık çok daha eğlenceli ve pratik.

Daha karmaşık projeler geliştirmek için DRF'nin sunduğu birçok başka özellik var. Mesela, kullanıcı doğrulama, izinler (permissions) ve token tabanlı kimlik doğrulama gibi ek özellikleri de kullanabilirsiniz. Unutmayın, her zaman test edin, hata ayıklayın ve yeni şeyler öğrenmeye devam edin.

İlgili Yazılar

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

ApiUp Nedir?

Merhabalar, bir süredir üzerinde çalıştığım yeni projemi hayata geçirdim. Bu Proje sayesinde, IRC sunucuları en popüler uygulamalarla entegre edilebiliyor. Şu anda Skype, WhatsApp ve Telegram uygulamalarını destekliyoruz. API Sayesinde, IRC Sunucularından...

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

"Yapay Zeka ile Web Geliştirme: Django'yu Yapay Zeka Uygulamaları İçin Nasıl Optimize Edersiniz?"

Dijital dünyanın hızla geliştiği bu dönemde, yazılım geliştirme alanında da çığır açan yenilikler ortaya çıkıyor. Web geliştirme dünyasında, Django’nun gücü artık yapay zeka (AI) entegrasyonuyla birleşerek daha da büyük bir potansiyele sahip. Peki, Django...