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

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.

Al_Yapay_Zeka

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: Laravel ve AI Entegrasyonu ile Proje Yönetimini Kolaylaştırmak

Geliştiriciler, projelerinin her aşamasında verimlilik, hız ve kaliteli sonuçlar beklerler. Ancak bu süreçlerin karmaşıklığı, zaman zaman devasa engellerle karşı karşıya kalmalarına neden olur. İşte tam bu noktada, Laravel ile yapay zekanın birleşimi,...

Yapay Zeka Destekli Veri Analizi: Python ile Verilerinizi Nasıl Daha Akıllıca İnceleyebilirsiniz?

Veri Analizinin Gücünü KeşfetmekHayatımızın her alanında, her geçen gün daha fazla veri üretiyoruz. Ancak, bu veriler yalnızca dağınık bilgilerden ibaretse, onlardan gerçek bir değer çıkarmak neredeyse imkansız hale geliyor. İşte burada devreye yapay...

Infinite Recursion Detected Hatası ve Çözümü: Python'da Sonsuz Döngüye Düşmeden Kod Yazmak

Hayatımızda bazen çok sık karşılaştığımız bir sorun vardır: sonsuz döngüler. Peki, bir yazılımcı olarak bu tür sorunlarla nasıl başa çıkıyoruz? Gelin, Python'da sıkça karşılaşılan "Infinite Recursion Detected" hatasına dair derin bir yolculuğa çıkalım.###...

Yapay Zeka ile Kendi Kişisel Veritabanı Yöneticinizi Yapın: Python ve SQLite ile Adım Adım Rehber

Hayatınızdaki verilerin giderek daha karmaşık hale geldiği bir dönemde, bunları düzenli bir şekilde tutmanın yollarını arıyorsunuz. Pekala, basit bir not tutma uygulamasının ötesine geçmek ve kendi kişisel veritabanınızı oluşturmak ister misiniz? Üstelik...

Web Geliştiricilerin En Büyük Kabusu: Django'da 'TemplateDoesNotExist' Hatasını Çözme Yöntemleri ve İpuçları

Django'nun Template Sistemi ve YapısıWeb geliştiricisi olarak karşılaştığımız en sinir bozucu hatalardan biri, "TemplateDoesNotExist" hatasıdır. Özellikle Django ile çalışırken, bu hatayı aldığınızda birçok sorunun iç içe geçtiğini hissedebilirsiniz....

Python ile Görsel Veri Analizi: Machine Learning Modelinizi Görselleştirerek Hataları Nasıl Tespit Edersiniz?

Makine öğrenmesi ve yapay zeka projelerinin son yıllarda ne kadar popüler olduğunu hepimiz biliyoruz. Ancak, her zaman göz ardı edilen bir konu var: Modelimizin yaptığı hataları nasıl tespit ederiz? Bu soruyu yanıtlarken, çoğu zaman verinin doğru bir...