Django REST Çerçevesi Eğitimi: Django REST Çerçevesi Nedir?

Django REST framework (DRF), Django'da Web API'leri oluşturmak için güçlü ve esnek bir araçtır.

Efe Demir

Efe Demir

5 June 2025

Django REST Çerçevesi Eğitimi: Django REST Çerçevesi Nedir?

"Django REST Framework nedir?"—Django kullanarak sağlam Web API'lerinin geliştirilmesini basitleştirmedeki rolünü açıklıyor. Django REST Framework'ü ölçeklenebilir ve verimli API çözümleri oluşturmak için paha biçilmez bir kaynak haline getiren temel özelliklerini ve işlevlerini anlamak için bize katılın.

Django REST Framework Nedir?

Django REST framework (DRF), yüksek seviyeli bir Python web çerçevesi olan Django'da Web API'leri (Uygulama Programlama Arayüzleri) oluşturmak için güçlü ve esnek bir araç takımıdır. DRF, yaygın görevler için bir dizi araç ve kural sağlayarak API'leri oluşturmayı, test etmeyi ve dağıtmayı kolaylaştırmak üzere tasarlanmıştır.

Django REST Framework'ün Temel Özellikleri

Django REST Framework'ün aşağıdakileri içeren çeşitli temel özellikleri vardır:

Görünümler

DRF, HTTP yöntemlerini işlemek için güçlü sınıf tabanlı görünümler sağlar. Görünümler, API uç noktalarının davranışını tanımlar ve bir istek belirli bir URL'ye yapıldığında ne olması gerektiğini belirtir. DRF görünümleri, Django'nun sınıf tabanlı görünümlerine dayanır, ancak RESTful uç noktalarını işlemek için uyarlanmıştır. Geliştiriciler, DRF'nin genel görünümlerini genişleterek özel görünümler oluşturabilirler.

Kimlik Doğrulama ve İzinler

DRF, API'nize erişimi kontrol etmek için bir dizi kimlik doğrulama ve izin sınıfı içerir. DRF, belirteç tabanlı kimlik doğrulama, oturum tabanlı kimlik doğrulama ve daha fazlası dahil olmak üzere çeşitli kimlik doğrulama yöntemlerini destekler. Geliştiriciler, uygulamalarına en uygun kimlik doğrulama yöntemini seçebilir ve yapılandırabilirler. Belirli kaynaklara kimlerin erişebileceğini ve belirli eylemleri kimlerin gerçekleştirebileceğini kontrol etmek için izin sınıfları sağlar. Örneğin, geliştiriciler, belirli işlemleri gerçekleştirmek için yalnızca kimliği doğrulanmış kullanıcılar veya belirli rollere sahip kullanıcılar için izinler ayarlayabilir.

Gözatılabilir API

Gözatılabilir API, geliştiricilerin bir web tarayıcısı kullanarak API ile etkileşim kurmasına ve API'yi keşfetmesine olanak tanıyan kullanıcı dostu bir web arayüzüdür. API'nizi oluşturmak için DRF'yi kullandığınızda, API görünümlerinize göre otomatik olarak göz atılabilir bir API oluşturur. Bu arayüz, API yapısını anlamayı ve uç noktaları doğrudan tarayıcıdan test etmeyi kolaylaştıran formlar ve bağlantılar sağlar.

Browsable API

DRF'lerin Katmanlı Mimarisi

Zaten Serializer, ViewSet ve Router terimlerini duyduk. Django REST Framework bu üç katmandan oluşur. Bunları ayrıntılı olarak tartışalım.

Django REST Framework  Serileştirme

DRF'deki serileştirme, Django modelleri veya sorgu kümeleri gibi karmaşık veri türlerini, JSON veya XML gibi formatlarda hızla oluşturulan Python veri türlerine dönüştürür. Serileştiriciler, serileştirilmiş çıktıya dahil etmek istediğiniz alanları ve ilişkileri belirtmenize olanak tanır. Serileştiriciler ayrıca, gelen verileri karmaşık Python veri türlerine geri dönüştürme anlamına gelen serileştirme işlemini de gerçekleştirir.

Verileri etkili bir şekilde dönüştürerek sunucu ve istemciler arasındaki sorunsuz iletişimi sağlar. Alanları ve ilişkileri belirtme yeteneği, açığa çıkarılan veriler üzerinde ayrıntılı kontrol sağlar ve serileştiricilerin çift yönlü işlevselliği, kesintisiz bir bilgi akışını destekler.

from rest_framework import serializers


class BookSerializer(serializers.ModelSerializer):

    class Meta:

        model = Book

        fields = '__all__'

ViewSets

DRF'deki ViewSet'ler, belirli bir kaynakla ilgili farklı API uç noktaları için mantığı düzenlemenin bir yolunu sağlayan sınıflardır. ViewSet'ler, bir kaynak için CRUD işlemlerinin (Oluşturma, Okuma, Güncelleme, Silme) mantığını tek bir sınıfta birleştirir. Ortak kalıpları işleyen genel ViewSet'leri içerir. Geliştiriciler ayrıca, davranışı gereksinimlerine göre uyarlamak için özel ViewSet'ler de oluşturabilirler.

from rest_framework import viewsets

from .models import Book

from .serializers import BookSerializer


class BookViewSet(viewsets.ModelViewSet):

    queryset = Book.objects.all()

    serializer_class = BookSerializer      

Yönlendiriciler

DRF'deki Yönlendiriciler, API görünümleriniz için URL yapılandırmasını otomatikleştirmenize yardımcı olarak, bunları yönetmeyi ve sürdürmeyi kolaylaştırır. DRF yönlendiricileri, tanımladığınız ViewSet'leri inceler ve API'niz için URL desenlerini otomatik olarak oluşturur. Bu, her görünüm için URL desenlerini manuel olarak yapılandırma ihtiyacını ortadan kaldırır. Bu otomatik yaklaşım, uygulamanın gelişmesiyle birlikte kolaylaştırılmış bakıma ve ölçeklenebilirliğe katkıda bulunur.

from rest_framework import routers

from .views import BookViewSet


router = routers.DefaultRouter()

router.register(r'books', BookViewSet)


urlpatterns = router.urls     

Django REST Framework'ün katmanlı mimarisi şu şekildedir:

Django Rest Framework Ne İçin Kullanılır?

Django Rest Framework (DRF), geliştiricilerin uygulamalarının verilerini ve işlevselliğini HTTP üzerinden sorunsuz bir şekilde sunmalarını sağlayarak, Django'da sağlam ve ölçeklenebilir Web API'leri oluşturmak için kullanılır. Serileştirme, sınıf tabanlı görünümler, kimlik doğrulama mekanizmaları ve esnek izinler gibi bir dizi güçlü araç sağlayarak RESTful API'leri oluşturma sürecini basitleştirir.

DRF, geliştiricilerin veri modellerini tanımlamasına, görünümleri özelleştirmesine ve yaygın HTTP yöntemlerini kolaylıkla işlemesine olanak tanıyarak Django'da API'lerin geliştirilmesini kolaylaştırır. Serileştirme, kimlik doğrulama ve göz atılabilir bir API için yerleşik destek dahil olmak üzere özellikleri, güvenilir ve iyi belgelenmiş bir API katmanı gerektiren modern web uygulamalarını verimli bir şekilde oluşturmak ve sürdürmek için vazgeçilmez bir araç takımı haline getirir.

Apidog Nedir?

Apidog , API test etme, hata ayıklama, tasarım, sahtekarlık ve dokümantasyon süreçlerini basitleştiren çok yönlü bir API entegrasyon platformudur. Kullanıcı dostu bir arayüz ve zengin bir araç seti ile Apidog, çeşitli projeler üzerinde çalışan ekipler arasındaki işbirliğini geliştirir. API testini optimize eder, daha kapsamlı değerlendirmeler sağlar ve test sonuçları ve yanıtları için JSON/XML şemaları oluşturulmasını kolaylaştırır.

Özellikleri arasında Apidog, API yanıtlarını ve sonuçlarını belgelemekte, daha sunulabilir dokümantasyon için özelleştirilebilir düzenler sunmaktadır. Platform ayrıca, iddiaların görsel olarak eklenmesini ve test dallarının oluşturulmasını sağlayan kullanıcı dostu API test araçlarına sahiptir. İşbirliğine dayalı çalışmalar, grup API'lerini işleme sürecini basitleştirerek, projeleri ekip üyeleriyle paylaşma ve bunlar üzerinde çalışma seçeneği aracılığıyla kolaylaştırılır.

button

Explore more

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Yapay zeka hızla gelişiyor. FractalAIResearch/Fathom-R1-14B, 14.8 milyar parametreyle matematik ve genel akıl yürütmede başarılı.

5 June 2025

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code'u keşfedin: Kurumsal kullanıma özel, en özelleştirilebilir yapay zeka destekli kodlama asistanı.

5 June 2025

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code, 2025'te yapay zeka destekli kodlamayı nasıl devrimleştiriyor? Özelliklerini, kullanımını ve Windsurf kısıtlamalarından sonra neden popüler olduğunu öğrenin. Geliştiriciler için okunması gereken!

5 June 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin