Django REST Framework Kullanımı: Adım Adım Rehber

Django REST Framework Kullanımı: Adım Adım Rehber

Bu rehberde, Django REST Framework kullanarak temel bir API oluşturmayı ve ilk endpoint'inizi oluşturmayı öğrendiniz. Django ile API geliştirme süreci oldukça basit ve etkili bir şekilde yapılabiliyor.

Al_Yapay_Zeka

Django, Python ile web geliştirenlerin en sevdiği framework'lerden birisi haline gelmişken, Django REST Framework (DRF), API geliştirme konusunda güçlü bir araç olarak karşımıza çıkıyor. Django’nun sunduğu avantajları, RESTful servisler oluşturmak için daha da kullanışlı hale getiren DRF, günümüzde birçok web ve mobil uygulamanın temel yapı taşlarından birini oluşturuyor. Eğer siz de Django ile API geliştirmeyi öğrenmek istiyorsanız, doğru yerdesiniz!

1. Django REST Framework Nedir?



Django REST Framework, Django için geliştirilmiş, RESTful API'ler oluşturmanıza olanak tanıyan bir kütüphanedir. Bu kütüphane sayesinde, veritabanınızla kolayca etkileşime giren, verileri JSON veya XML formatında dönen bir API oluşturabilirsiniz. Django’nun sunduğu esneklik ve güçlü admin panelinin yanında, DRF de size bir API oluşturmanın kolay ve hızlı yollarını sunar.

2. Django REST Framework'ü Projeye Dahil Etme



Başlamak için, öncelikle Django projenize DRF'yi dahil etmeniz gerekiyor. Bunu yapmak için terminal üzerinden şu komutu çalıştırabilirsiniz:

kopyala
pip install djangorestframework
PHP


Bu komut, DRF'yi proje ortamınıza yükleyecektir. Şimdi, bu kütüphaneyi Django projenize dahil edelim. Bunun için `settings.py` dosyanıza gidip, `INSTALLED_APPS` listesine şu satırı ekleyin:

kopyala
'rest_framework',
PHP


Artık Django projeniz DRF'yi tanıyacak ve API geliştirmeye hazır!

3. İlk API Endpoint'inizi Oluşturun



Şimdi de DRF kullanarak basit bir API endpoint'i oluşturalım. Örneğin, bir blog uygulaması için blog yazılarını listelemek isteyelim. İlk olarak bir model oluşturmak gerekiyor.

Django'nun `models.py` dosyasına şu modeli ekleyelim:

kopyala
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
PHP


Burada, her yazı için bir başlık, içerik ve oluşturulma zamanı belirledik. Şimdi bu modeli veritabanına eklemek için terminalden şu komutları çalıştıralım:

kopyala
python manage.py makemigrations python manage.py migrate
PHP


Modelimiz hazır! Şimdi bu model için bir API endpoint’i oluşturacağız.

4. Serializer Oluşturma



Django REST Framework’te veritabanı modelleri ile API arasındaki bağlantıyı sağlayan araçlara "serializer" denir. Serializer, veritabanı modelinizi JSON formatında temsil etmenize olanak sağlar.

Bunu yapmak için yeni bir dosya oluşturalım: `serializers.py`

kopyala
from rest_framework import serializers from .models import Post class PostSerializer(serializers.ModelSerializer): class Meta: model = Post fields = '__all__'
PHP


Burada, `PostSerializer` sınıfı, `Post` modelini serileştirecek ve tüm alanlarını içerecek şekilde ayarlandı.

5. Views Oluşturma



Artık API endpoint'ini oluşturmak için bir `view` sınıfı yazabiliriz. Bunun için DRF'nin sunduğu `APIView` veya `viewsets.ModelViewSet` gibi sınıfları kullanabiliriz. Şimdi, `views.py` dosyasına şu kodu ekleyelim:

kopyala
from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status from .models import Post from .serializers import PostSerializer class PostList(APIView): def get(self, request): posts = Post.objects.all() serializer = PostSerializer(posts, many=True) return Response(serializer.data)
PHP


Bu sınıf, `GET` isteğiyle veritabanındaki tüm blog yazılarını alacak ve JSON formatında döndürecek. Artık yazıları listeleyebileceğimiz bir endpoint'imiz var!

6. URL Yönlendirmesi



Son olarak, bu view'i bir URL ile ilişkilendirelim. `urls.py` dosyasına gidip şu satırı ekleyelim:

kopyala
from django.urls import path from .views import PostList urlpatterns = [ path('api/posts/', PostList.as_view(), name='post-list'), ]
PHP


Artık `/api/posts/` endpoint'i üzerinden blog yazılarımıza erişebiliriz!

7. API'yi Test Etme



Django'yu çalıştırarak API'yi test edebiliriz. Terminalde şu komutu çalıştırarak projeyi başlatın:

kopyala
python manage.py runserver
PHP


Tarayıcınızda `http://localhost:8000/api/posts/` adresine giderek blog yazılarınızı görebilirsiniz. JSON formatında dönen veriyi rahatça inceleyebilirsiniz.

Sonuç



Django REST Framework ile ilk API'nizi oluşturmak gerçekten çok basit. Gerekli adımları takip ederek hızlıca çalışır durumda bir API oluşturabilirsiniz. Artık veritabanı modelinizi dış dünyaya açmak, verileri JSON formatında almak ve göndermek için bu güçlü framework’ü kullanabilirsiniz.

Bu yazıda, Django ve Django REST Framework kullanarak temel bir API nasıl oluşturulur öğrendik. Eğer daha ileri seviyeye geçmek isterseniz, autentikasyon, yetkilendirme ve CRUD işlemleri gibi konuları da öğrenmeye devam edebilirsiniz.

İlgili Yazılar

Benzer konularda diğer yazılarımız

"Web Güvenliği 101: Sizi Hackerlardan Koruyacak 7 Güvenlik Önlemi"

Herkesin aklında aynı soru: "Web güvenliğimi nasıl sağlayabilirim?" İnternette gezinirken karşımıza çıkan her pop-up, her reklam, her bağlantı birer potansiyel tehdit olabilir. Hackerlar, internetin karanlık köşelerinde her an bir açığı yakalamak için...

Python ile Web Scraping: Başlangıç Rehberi ve Dikkat Edilmesi Gereken 7 Hata

**Web dünyasında veri çok değerli bir hazine gibidir. Ancak, bu hazineyi elde etmek bazen zahmetli ve zaman alıcı olabilir. İşte tam burada, web scraping devreye giriyor! Python ile web scraping yapmak, verileri otomatik olarak çekmenizi ve analiz etmenizi...

Yapay Zeka ile Veritabanı Yönetimi: Python ve SQL İle Verimli Veri Analizine Adım Adım Rehber

Veri çağında yaşıyoruz, her geçen gün daha fazla veri üretiyoruz ve bu verileri anlamlı bir şekilde işlemek, analiz etmek ve kullanmak için doğru araçlara sahip olmak kritik bir öneme sahip. İşte burada Yapay Zeka ve Veritabanı Yönetimi devreye giriyor....

Node.js EADDRINUSE Hatası: Sebepleri ve Çözüm Yolları

Node.js geliştiricisi olarak çalışıyorsanız, “EADDRINUSE” hatasıyla karşılaşmamış olmanız neredeyse imkansız. Her şey mükemmel giderken, aniden karşınıza çıkan bu hata, genellikle portların zaten kullanımda olması nedeniyle meydana gelir. Hadi, bu hatanın...

Web Geliştirmede Performans İyileştirme: JavaScript'te 'Reflow' ve 'Repaint' Arasındaki İnce Farkları Anlamak

Web geliştiricileri için en önemli konulardan biri, web sayfalarının hızlı ve sorunsuz bir şekilde yüklenmesi ve çalışmasıdır. Her şey hızla dijital dünyaya taşındıkça, kullanıcılar artık her şeyin anında yüklenmesini bekliyor. Bu noktada, web sayfalarının...

Yapay Zeka ile Web Tasarımının Geleceği: Dönüşüm, Zorluklar ve Fırsatlar

Web tasarımı, geçmişten günümüze büyük bir evrim geçirdi. Yıllar önce sadece estetik bir mesele olarak kabul edilen bu alan, şimdi kullanıcı deneyimini (UX) ve etkileşimi maksimum seviyeye çıkarmak için teknolojiyi kucaklıyor. Peki, yapay zeka (AI) web...