Django REST Framework ile API Geliştirme: Başlangıç Rehberi

Django REST Framework kullanarak API geliştirmeye başlamayı anlatan bu yazı, temel bir API’nin nasıl oluşturulacağını ve verilerin nasıl JSON formatına dönüştürüleceğini adım adım gösteriyor.

BFS

Django REST Framework Nedir?



Bir gün, bir yazılımcı arkadaşım bana bir proje için API geliştirmemi istedi. "Tabii, Django'yu seviyorum, ama REST API nedir?" dedim. Arkadaşım gülümsedi ve Django REST Framework (DRF) ile tanışmamı önerdi. O an bir keşif başladı ve DRF ile tanıştıktan sonra projeyi ne kadar kolayca geliştirdiğimi şaşırarak fark ettim. Peki, Django REST Framework nedir ve nasıl kullanılır? Hadi gelin, adım adım bakalım.

Django REST Framework, Django ile RESTful API'ler oluşturmanıza olanak sağlayan güçlü bir kütüphanedir. Django'nun sunduğu güçlü özelliklere, API geliştirmeyi kolaylaştıran araçlar ekler. API’ler sayesinde, farklı sistemler arasında veri paylaşımı yapabilir, uygulamanızı daha esnek hale getirebilirsiniz.

Başlangıç: Django Projesi Kurma



Başlamak için öncelikle bir Django projesi kurmamız gerekiyor. Eğer Django’yu bilgisayarınızda kurulu değilse, terminal veya komut satırında şu komutu kullanarak yükleyebilirsiniz:


pip install django


Django’yu yükledikten sonra yeni bir proje başlatalım:


django-admin startproject myproject
cd myproject


Şimdi Django’nun temel yapısını oluşturduk. Ancak API geliştirmek için Django REST Framework’e de ihtiyacımız var. Onu da yüklemek için şu komutu çalıştıracağız:


pip install djangorestframework


Ve işte, Django REST Framework projemize dahil oldu. Ancak bu adım sadece başlangıç!

Django REST Framework ile API Oluşturmak



API geliştirmeye başlamak için önce Django’daki uygulama yapısını kullanacağız. Yeni bir uygulama (app) oluşturmak için şu komutu çalıştırıyoruz:


python manage.py startapp api


Bu komutla “api” adında bir uygulama oluşturduk. Şimdi, API’miz için gerekli olan modelleri ve serializer’ları oluşturmaya başlıyoruz.

Modeli Tanımlama



Öncelikle basit bir model oluşturalım. Diyelim ki, kullanıcıların blog yazılarını sakladığımız bir API yapacağız. Bu yüzden bir `Post` modeline ihtiyacımız olacak. `models.py` dosyamıza şu kodu ekleyelim:


from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title


Bu model, kullanıcıların blog yazılarını saklamak için yeterli olacaktır. Şimdi, modeli veritabanımıza yansıtmak için migrations işlemini yapmamız gerekiyor:


python manage.py makemigrations
python manage.py migrate


Serializer ile Veriyi JSON Formatına Dönüştürme



API'de veriyi JSON formatında alıp göndereceğimiz için, verileri JSON’a dönüştürmek için bir serializer kullanmamız gerekiyor. `api` uygulamasındaki `serializers.py` dosyasını oluşturuyoruz ve şu şekilde düzenliyoruz:


from rest_framework import serializers
from .models import Post

class PostSerializer(serializers.ModelSerializer):
    class Meta:
        model = Post
        fields = '__all__'


Bu serializer, `Post` modelindeki verileri JSON formatına dönüştürecek. Artık API’mizle kullanıcıları bilgilendirebiliriz!

ViewSet ile API'yi Yönlendirme



Şimdi ise API'yi kullanabileceğimiz bir view oluşturacağız. Bunun için Django REST Framework’ün sunduğu `ViewSet` sınıfını kullanacağız. `views.py` dosyasına şu kodu ekleyelim:


from rest_framework import viewsets
from .models import Post
from .serializers import PostSerializer

class PostViewSet(viewsets.ModelViewSet):
    queryset = Post.objects.all()
    serializer_class = PostSerializer


Bu view, tüm `Post` verilerini döndürecek ve ayrıca verileri ekleme, silme, güncelleme işlemlerini de yapabileceğiz.

URL Yönlendirmelerini Yapma



Artık API’miz hazır ama kullanıcılar API’mize nasıl erişecek? Bunun için URL yönlendirmeleri yapmamız gerekiyor. `urls.py` dosyasına şu satırı ekleyelim:


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

router = DefaultRouter()
router.register(r'posts', PostViewSet)

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


Bu kod, API’mizi `/posts/` yoluyla erişilebilir kılacak.

Son Adım: Sunucuyu Çalıştırma



Her şey hazır! Şimdi terminalden şu komutu çalıştırarak sunucumuzu başlatıyoruz:


python manage.py runserver


Artık API’miz çalışıyor! Tarayıcıda `http://127.0.0.1:8000/posts/` adresine giderek blog yazılarına erişebilirsiniz.

Sonuç



Django REST Framework, güçlü ve esnek bir kütüphane olup API geliştirmeyi oldukça kolaylaştırır. Az önce öğrendiğimiz adımları takip ederek basit bir API oluşturdunuz. Bundan sonra, bu temel yapı üzerinde farklı özellikler ekleyerek API’nizi geliştirebilirsiniz. Django ile API geliştirmek hiç bu kadar kolay olmamıştı!

İlgili Yazılar

Benzer konularda diğer yazılarımı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...

Yapay Zeka ve İnsan Duyguları: Python’da Duygu Analizine Giriş ve Uygulama

Yapay zekanın hayatımıza olan etkisi her geçen gün artıyor. Teknolojinin bu hızlı gelişimiyle birlikte, sadece işlemler değil, duygular da dijital dünyada bir yer buluyor. Peki, yapay zeka insan duygularını nasıl anlayabilir? Python’da duygu analizi yaparak,...

Express.js ile API Geliştirme: Kolay ve Hızlı Bir Başlangıç

Express.js Nedir ve Neden Kullanılır?Bir zamanlar, frontend ve backend geliştirme arasındaki farklar göz kamaştırıcıydı. Ancak zamanla, backend geliştirme dünyası hızla evrildi ve işler daha verimli, daha hızlı hale geldi. Bu değişimin öncülerinden biri...