Django ve API Nedir, Ne İşe Yarar?
Öncelikle, “API” demek, uygulamanın başka bir uygulama ile iletişim kurmasını sağlamak demek. Yani, bir çeşit köprü! Django, Python tabanlı harika bir web framework’ü. Bu araçla dinamik web siteleri ve uygulamaları hızla geliştirebilirsin. Django REST Framework ise, Django’nun üzerine inşa edilen ve API’lerle kolayca çalışmanı sağlayan güçlü bir kütüphane. API geliştirmek hiç bu kadar kolay olmamıştı, değil mi?
Başlangıç: Django Projesini Kurma
İlk adımımız, Django projemizi kurmak. Django ile ilgili her şeyin temeli aslında çok basit. Eğer bilgisayarında Python kuruluysa, hemen terminale şu komutu girerek Django’yu yükleyebilirsin:
pip install djangoKurulum tamamlandıktan sonra, bir Django projesi oluşturabiliriz:
django-admin startproject myprojectArtık projen hazır! Hadi, bir de uygulama oluşturalım:
python manage.py startapp apiDjango REST Framework’ü Kurmak
Şimdi asıl büyüye geçiyoruz. Django projemize REST API özelliklerini eklemek için Django REST Framework’ü kurmamız gerekiyor. Terminalimize şu komutu yazalım:
pip install djangorestframeworkKurulum tamamlandıktan sonra, bu yeni kütüphaneyi projede kullanabilmek için ayarları yapmamız gerekiyor. “settings.py” dosyasını aç ve INSTALLED_APPS listesine şu satırı ekle:
'rest_framework',Modelimizi Oluşturmak
Şimdi, API’mizin neyle çalışacağını belirleyelim. Bu yazıda basit bir “Book” (Kitap) modeli üzerinden gideceğiz. Modelimizi şu şekilde tanımlayalım:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.CharField(max_length=100)
published_date = models.DateField()
def __str__(self):
return self.title
Bu model, kitapların başlık, yazar ve yayınlanma tarihi gibi bilgilerini tutacak. Şimdi veritabanımıza bu modeli ekleyelim:
python manage.py makemigrationspython manage.py migrateSerializer ve Viewset Oluşturmak
Şimdi gelelim esas işimize: API’yi oluşturmak. DRF ile en kolay şekilde API oluşturmanın yolu, bir serializer ve viewset kullanmaktır. Serializer, veritabanındaki verileri JSON formatına dönüştürür. Viewset ise bu verileri almak ve sunmak için kullanılan bir yapı.
Önce serializer’ı oluşturalım:
from rest_framework import serializers
from .models import Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = ['id', 'title', 'author', 'published_date']
Şimdi, viewset’i oluşturalım:
from rest_framework import viewsets
from .models import Book
from .serializers import BookSerializer
class BookViewSet(viewsets.ModelViewSet):
queryset = Book.objects.all()
serializer_class = BookSerializer
URL’leri Bağlamak
Şimdi sırada, API’mizi kullanmak için gerekli URL’leri belirlemek var. Bunun için “urls.py” dosyasına şu satırı ekle:
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)),
]
Artık, API’miz aktif! Kitaplarla ilgili verileri alabilir ve gönderebiliriz.
API’yi Test Etmek
Projeyi başlatıp, http://127.0.0.1:8000/api/books/ adresine gittiğinde, kitapları görebilmen gerekir. Eğer her şey yolundaysa, burada kitapları listeleyebilir, yeni kitaplar ekleyebilir ve mevcut kitapları güncelleyebilirsin.
Sonuç
Ve işte bu kadar! Django REST Framework ile API geliştirmek aslında düşündüğünden çok daha kolay. Bu yazıyı takip ederek basit bir kitap API’si oluşturduk, ama aynı mantığı farklı projelere de uygulayabilirsin. Django ve DRF’nin gücü sayesinde çok hızlı bir şekilde güçlü ve esnek API’ler geliştirebilirsin.
Şimdi sen de kendi projeni geliştirmeye başla! Unutma, her şeyin başı pratik. İyi kodlamalar!