Hayal edin ki bir gün, mükemmel bir uygulama yapmaya karar verdiniz. Fakat bir anda verileri yönetmeniz gerekti. İşte Django REST Framework burada devreye giriyor ve veri yönetimini çok daha hızlı, kolay ve verimli bir hale getiriyor. Bugün, bu harika araçla bir REST API nasıl geliştirileceğini adım adım öğreneceğiz. Hazırsanız, hemen başlıyoruz!
Adım 1: Django'yu ve Django REST Framework'ü Yükleyin
İlk adım her zaman başlangıçtır. İlk olarak, Django'yu ve Django REST Framework'ü yüklememiz gerekiyor. Eğer Python kurulu değilse, Python’u indirip kurduktan sonra terminalden aşağıdaki komutları çalıştırarak her iki kütüphaneyi de yükleyebilirsiniz.
pip install django
pip install djangorestframework
Bu işlemi başarıyla gerçekleştirdiğinizde, Django'yu kullanarak harika bir web uygulaması yapmaya bir adım daha yaklaşmış olacaksınız.
Adım 2: Yeni Bir Django Projesi Başlatın
Django projemizi oluşturmak için terminalde şu komutu yazalım:
django-admin startproject myproject
Burada, `myproject` yerine istediğiniz başka bir proje adı verebilirsiniz. Projeniz yaratıldığında, hemen dizine geçelim:
cd myproject
Adım 3: Yeni Bir Uygulama Oluşturun
Django'da her şey uygulamalar etrafında döner. Şimdi bir uygulama oluşturacağız. Bu uygulama, REST API'mizin temelini atacak. Aşağıdaki komut ile yeni bir uygulama oluşturalım:
python manage.py startapp myapi
Bundan sonra `myapi` uygulamanızı, Django projenizdeki ana klasör olan `myproject` dizininde görebileceksiniz.
Adım 4: Django REST Framework'ü Ayarlayın
Django projemizde, REST API için Django REST Framework'ü kullanabilmek adına bazı ayarlamalar yapmamız gerekiyor. `settings.py` dosyasını açın ve INSTALLED_APPS listesine `rest_framework` ve `myapi` uygulamanızı ekleyin.
INSTALLED_APPS = [
...
'rest_framework',
'myapi',
]
Bu, REST Framework'ün düzgün çalışabilmesi için gerekli olan temel ayarlamayı tamamladı.
Adım 5: Modeli Tanımlayın
Artık veritabanı ile etkileşime girmeye başlıyoruz. Django’nun sunduğu model yapısını kullanarak bir model oluşturacağız. `myapi/models.py` dosyasını açarak basit bir model tanımlayalım. Diyelim ki bir Kitap modelimiz olsun. Kitapların adı, yazarı ve yayınevi bilgileri olacak.
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
publisher = models.CharField(max_length=100)
def __str__(self):
return self.title
Bu model, kitabın başlığını, yazarını ve yayınevini içerecek şekilde tasarlandı. Şimdi, bu modeli veritabanına eklemek için aşağıdaki komutla veri tabanını güncellememiz gerekiyor:
python manage.py makemigrations
python manage.py migrate
Adım 6: Serializer Oluşturun
Veritabanındaki verileri JSON formatına dönüştürmek için serializer kullanmamız gerekiyor. Django REST Framework, bunu kolayca yapmamızı sağlıyor. `myapi/serializers.py` dosyasını oluşturun ve aşağıdaki gibi bir serializer sınıfı yazın:
from rest_framework import serializers
from .models import Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = ['id', 'title', 'author', 'publisher']
Bu, modelimizi JSON formatına dönüştürmeyi sağlayacak. Şimdi sıra geldi API'yi oluşturmaya.
Adım 7: Views ve URL'ler
Verilerimizi sunabilmek için bir view oluşturmamız gerek. `myapi/views.py` dosyasını açın ve aşağıdaki gibi bir view yazın:
from rest_framework import viewsets
from .models import Book
from .serializers import BookSerializer
class BookViewSet(viewsets.ModelViewSet):
queryset = Book.objects.all()
serializer_class = BookSerializer
Bu view, tüm kitapları almak, eklemek, silmek veya güncellemek için gerekli işlemleri yapacak.
Son olarak, bu view’i URL'lere bağlamamız gerekiyor. `myapi/urls.py` dosyasını oluşturun ve şu şekilde yapılandırın:
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('', include(router.urls)),
]
Bu sayede `/books/` endpoint'ini kullanarak kitapları listeleyebileceğiz.
Adım 8: Sunucuyu Başlatın
Artık her şey hazır! Django sunucumuzu başlatmak için terminalde şu komutu çalıştırabilirsiniz:
python manage.py runserver
Sunucuyu başlattığınızda, `http://127.0.0.1:8000/books/` adresinde kitapların listesini görebileceksiniz. Ayrıca, bu endpoint üzerinden yeni kitaplar ekleyebilir, var olanları güncelleyebilir veya silebilirsiniz.
Sonuç
Django REST Framework ile bir API oluşturmak çok kolay ve oldukça güçlü. Bu rehberde, basit bir kitap yönetimi API'si oluşturduk, ancak aynı yapıyı daha karmaşık projelerde de rahatlıkla kullanabilirsiniz. Django’nun sağlam yapısı ve Django REST Framework’ün sunduğu araçlarla çok kısa sürede güçlü ve ölçeklenebilir API’ler geliştirebilirsiniz.
Şimdi siz de Django REST Framework ile kendi API’nizi geliştirebilir ve projelerinizde kullanabilirsiniz. Unutmayın, Django'nun sunduğu her yeni özellik ile projelerinizin gücünü artırabilirsiniz. Başarılar!