Django REST Framework ile API Geliştirme: Adım Adım Kılavuz

 Django REST Framework ile API Geliştirme: Adım Adım Kılavuz

**

Al_Yapay_Zeka



Django, güçlü ve esnek yapısıyla web uygulamaları geliştirmek için sıklıkla tercih edilen bir framework'tür. Ancak bazen sadece bir web sitesi değil, aynı zamanda başka sistemlerle de iletişim kurmak istediğimiz API'lere de ihtiyacımız olur. İşte tam burada Django REST Framework (DRF) devreye giriyor.

Django REST Framework Nedir?

Django REST Framework, Django ile API'ler oluşturmayı kolaylaştıran bir araçtır. Web uygulamanızı geliştirirken API'ler (Application Programming Interface) kullanarak farklı sistemlerle veri paylaşabilir, veri alabilir ve kullanıcı etkileşimlerini yönlendirebilirsiniz. DRF, bu işlemi çok daha basit ve anlaşılır hale getiriyor.

Şimdi, Django REST Framework kullanarak basit bir API nasıl yapılır, adım adım keşfetmeye başlayalım.

Adım 1: Django Projesi Oluşturmak

İlk adımımız, Django'yu kurmak ve bir proje başlatmaktır. Eğer Django yüklü değilse, terminal veya komut satırında aşağıdaki komutu kullanarak yükleyebilirsiniz:


pip install django


Ardından, yeni bir proje oluşturmak için şu komutu çalıştırın:


django-admin startproject myproject


Adım 2: Django REST Framework Kurulumu

Django projemizi oluşturduktan sonra, DRF'yi kurmamız gerekiyor. Bunu yapmak için şu komutu çalıştırabilirsiniz:


pip install djangorestframework


Kurulum tamamlandıktan sonra, projemizin `settings.py` dosyasına gidip 'INSTALLED_APPS' listesine `'rest_framework'`'ü eklememiz gerekiyor:


INSTALLED_APPS = [
    ...
    'rest_framework',
]


Adım 3: Model Oluşturma

Şimdi, API'mizi besleyecek olan modelimizi oluşturalım. Diyelim ki, basit bir "Kitap" API'si yapacağız. Bunun için aşağıdaki gibi bir model oluşturabiliriz.


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


Modelimizi oluşturduktan sonra, veritabanına eklemek için terminalde şu komutları çalıştırmamız gerekiyor:


python manage.py makemigrations
python manage.py migrate


Adım 4: Serializer Oluşturma

Modelimizi oluşturduk, ancak bu veriyi API üzerinden gönderebilmemiz için bir *serializer* sınıfına ihtiyacımız var. Serializer, veriyi JSON formatına dönüştürerek dışa aktarılmasını sağlar.


from rest_framework import serializers
from .models import Book

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


Bu adımda `BookSerializer` sınıfı, modelimizin verilerini JSON formatına dönüştürür. Artık bu veriyi dışarıya açabiliriz.

Adım 5: ViewSet ve URL'leri Ayarlama

Artık verilerimizi dışa açabiliriz. Bunun için bir ViewSet oluşturmalıyız. ViewSet, verilerin nasıl işleneceğini ve hangi HTTP yöntemlerinin kullanılacağını belirler. Aşağıdaki gibi bir ViewSet oluşturabiliriz:


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

class BookViewSet(viewsets.ModelViewSet):
    queryset = Book.objects.all()
    serializer_class = BookSerializer


Şimdi, bu ViewSet'i URL'lerle bağlayacağız. Django'nun `urls.py` dosyasına gidip aşağıdaki gibi bir URL tanımlaması yapmalıyız:


from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import BookViewSet

router = DefaultRouter()
router.register(r'books', BookViewSet)

urlpatterns = [
    path('api/', include(router.urls)),
]


Bu adımda, `BookViewSet`'imizi `/api/books/` URL'ine bağlamış olduk. Artık API'miz çalışıyor!

Adım 6: API'yi Test Etme

Son olarak, API'mizin doğru çalışıp çalışmadığını test etmeliyiz. Django'nun yerleşik sunucusunu başlatmak için şu komutu çalıştırın:


python manage.py runserver


Sunucu çalışmaya başladığında, tarayıcınızda `http://127.0.0.1:8000/api/books/` adresine giderek API'nizin düzgün çalışıp çalışmadığını kontrol edebilirsiniz.

Sonuç

İşte karşınızda, Django REST Framework ile basit bir API oluşturma süreci! Django'nun güçlü yapısı ve Django REST Framework'ün sunduğu kolaylıklar sayesinde, karmaşık API'ler oluşturmak oldukça hızlı ve eğlenceli bir hale geliyor.

Bu yazıda öğrendiklerinizle, kendi projelerinize kolayca API entegrasyonları yapabilirsiniz. Unutmayın, her zaman test etmeyi ve dökümantasyonu incelemeyi unutmayın!

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

Web Geliştiricilerinin Sık Yapmayı Unuttuğu 10 Kritik HTML5 Özelliği ve Kullanım İpuçları

Web geliştiricisi olmak, yalnızca kod yazmak değil; kullanıcı deneyimini geliştirmek, sitenin hızını artırmak ve SEO’yu iyileştirmek için sürekli yeni teknikler öğrenmek demek. HTML5 ile birlikte, web geliştiricilerinin hayatını kolaylaştıracak birçok...

Laravel 9 ile API Geliştirmek: Adım Adım Rehber ve İleri Düzey Taktikler

**Laravel, modern web geliştirme dünyasında en popüler PHP framework'lerinden biri olarak biliniyor. Laravel 9 ise, bu framework'ün en yeni sürümü ile birlikte geliştiricilere büyük kolaylıklar ve iyileştirmeler sunuyor. Bu yazıda, Laravel 9 ile API geliştirmeyi...

Yapay Zeka ve Web Tasarımı: Geleceğin Tasarım Trendlerini Anlamak

Web tasarımı dünyası, yıllar içinde pek çok değişim geçirdi. Estetik anlayışları, kullanıcı ihtiyaçları ve teknolojik gelişmelerle şekillenen tasarımlar, her geçen gün daha sofistike hale geldi. Ancak şu an, bu evrimde bir adım daha öne çıkan bir güç...

Windows'ta PHP Session Hatası ve Çözümü: Sorunları Çözmek İçin Adım Adım Kılavuz

Bir sabah bilgisayarınızda PHP ile çalışırken aniden karşılaştığınız bir hata sizi çileden çıkarabilir. Hele ki bir web projesi üzerinde çalışıyorsanız ve işler tıkırında gitmeye başlamışken, "PHP Session Hatası" gibi bir sorunla karşılaşmak her şeyin...

Web Geliştirmede 'Zero-Knowledge Proof' Teknolojisinin Kullanımı: Angular ile Güvenliği Artırmak

Web geliştiricileri, her geçen gün daha da karmaşık hale gelen güvenlik tehditleri ile başa çıkmak zorunda. Ancak, şifreleme ve güvenlik, artık sadece devasa sistemlerin değil, herkesin ilgisini çeken bir konu haline geldi. Peki, kullanıcıların gizliliğini...