Django REST Framework Nasıl Kullanılır? Başlangıç Rehberi

Django REST Framework Nasıl Kullanılır? Başlangıç Rehberi

Django REST Framework ile API geliştirme sürecini adım adım keşfedin. Bu rehber, Django'yu ve DRF'yi kullanarak basit bir API oluşturmanın temellerini atmanıza yardımcı olacak.

Al_Yapay_Zeka

Django, web geliştirme dünyasında çok sevilen bir Python framework'üdür. Ancak, günümüzün web uygulamalarında sadece sunucu tarafı işlemleri yeterli değildir. Müşterilerle etkili bir şekilde iletişim kurmak için API'ler çok önemli bir yer tutar. İşte burada Django REST Framework (DRF) devreye girer. DRF, Django'nun gücünü ve esnekliğini alır ve API'ler oluşturmayı çok daha kolay hale getirir. Bugün, bu harika aracı nasıl kullanabileceğinizi keşfedeceğiz.

Django REST Framework Nedir?


Django REST Framework, Django ile API'ler geliştirmek için kullanılan açık kaynaklı bir kütüphanedir. RESTful API'ler oluşturmak için gereken tüm araçları sağlar. DRF, CRUD (Create, Read, Update, Delete) işlemleri için hızlı bir şekilde RESTful servisleri yapılandırmanıza olanak tanır. Bu, geliştiricilerin veritabanı ile etkileşimde bulunurken ve istemcilerle veri paylaşırken daha az zaman harcamasını sağlar.

Başlangıç: Django ve Django REST Framework Kurulumu


Django REST Framework kullanmaya başlamadan önce, öncelikle Django'yu kurmamız gerekir. Django'yu ve DRF'yi kurmak için terminal üzerinden şu komutları kullanabilirsiniz:


pip install django
pip install djangorestframework


Bu işlem, Django'yu ve DRF'yi sisteminize yükleyecektir.

Yeni Bir Django Projesi Oluşturma


Şimdi, Django projemizi oluşturalım. Yeni bir proje başlatmak için terminalde aşağıdaki komutu kullanabilirsiniz:


django-admin startproject myproject
cd myproject


Bu komut, yeni bir Django projesi oluşturur ve içine geçiş yapar. Şimdi bu projeye bir uygulama ekleyebiliriz. Örneğin, `api` adlı bir uygulama ekleyelim:


python manage.py startapp api


Django REST Framework ile İlk API Endpoint'ini Oluşturma


Şimdi sırada, basit bir API endpoint’i oluşturma var. Öncelikle, `api` uygulamamızda bir model oluşturalım. Diyelim ki bir Kitap modelimiz olacak. Bu modeli `models.py` dosyasına ekleyelim:


from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=100)
    published_date = models.DateField()

    def __str__(self):
        return self.title


Bu model, kitaplar için başlık, yazar ve yayınlanma tarihi gibi temel bilgileri içeriyor. Şimdi bu modelin verilerini alacak bir API endpoint’i oluşturalım.

Öncelikle `serializers.py` dosyasını oluşturalım ve kitabın modelini API'ye uyumlu hale getirelim. `api` uygulamanızda `serializers.py` dosyasını oluşturun ve içine şu kodu ekleyin:


from rest_framework import serializers
from .models import Book

class BookSerializer(serializers.ModelSerializer):
    class Meta:
        model = Book
        fields = ['id', 'title', 'author', 'published_date']


Bu sınıf, Book modelinin verilerini alıp JSON formatına dönüştürür. Şimdi, bu veriyi geri döndüren bir API view'ı oluşturalım.

`views.py` dosyasına şu kodu ekleyin:


from rest_framework.views import APIView
from rest_framework.response import Response
from .models import Book
from .serializers import BookSerializer

class BookList(APIView):
    def get(self, request):
        books = Book.objects.all()
        serializer = BookSerializer(books, many=True)
        return Response(serializer.data)


Bu view, `GET` isteği aldığında tüm kitapları döndürecektir. Şimdi URL'leri yapılandıralım. `urls.py` dosyasına şu kodu ekleyin:


from django.urls import path
from .views import BookList

urlpatterns = [
    path('books/', BookList.as_view(), name='book-list'),
]


API'yi Test Etme


Tüm işlemleri tamamladıktan sonra, sunucuyu başlatabiliriz:


python manage.py runserver


Artık `http://127.0.0.1:8000/books/` adresine giderek oluşturduğumuz API'yi test edebilirsiniz. Eğer her şey doğru şekilde yapılandırılmışsa, JSON formatında kitaplarınızın listelendiğini görmelisiniz.

Django REST Framework ile Güvenlik


Bir API geliştirirken güvenlik oldukça önemlidir. Django REST Framework, API güvenliğini sağlamak için birçok seçenek sunar. Örneğin, Token Authentication kullanarak, kullanıcıların doğrulanmasını sağlayabilirsiniz. Bunun için şu adımları izleyebilirsiniz:

Öncelikle, DRF'nin authentication özelliğini aktif hale getirin. Bunun için `settings.py` dosyasına şu kodu ekleyin:


INSTALLED_APPS = [
    # Diğer uygulamalar
    'rest_framework.authtoken',
]

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.TokenAuthentication',
    ],
}


Sonrasında kullanıcıların token oluşturabilmesi için, şu komutu çalıştırarak gerekli migrations işlemini yapın:


python manage.py migrate


Artık, kullanıcılarınız API'ye token ile giriş yapabilir. Bunun için token oluşturma işlemi için DRF'nin sağladığı `obtain_auth_token` view'ını kullanabilirsiniz.

Sonuç


Django REST Framework, Django ile API geliştirmeyi son derece kolaylaştırır. Bu yazıda, Django REST Framework ile temel bir API nasıl oluşturulur, güvenlik nasıl sağlanır gibi konuları ele aldık. Artık, Django'nun gücünü kullanarak API geliştirmek sizin için daha erişilebilir ve verimli.

Django ve DRF'nin sunduğu esneklik ve güçlü özellikler sayesinde, daha büyük ve daha karmaşık API projeleri üzerinde çalışmak oldukça eğlenceli hale gelir. Kendi projelerinizi oluştururken bu rehberden faydalanabilirsiniz.

İlgili Yazılar

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

Yapay Zeka ile Python Projeleri: Başlangıçtan İleri Seviyeye Kadar İpuçları

Yapay zeka (YZ) dünyasına adım atmak, belki de son yıllarda karşılaştığınız en heyecan verici şeylerden biridir. Ve bu maceraya başlamak için en iyi dil, elbette Python'dur! Eğer Python'u seviyorsanız ve yapay zeka projeleri üzerinde çalışmaya başlamak...

Django'da "Static Files Not Loading" Hatası ve Çözümü: Adım Adım Rehber

Django ile web projeleri geliştiriyorsanız, bir noktada mutlaka karşılaşacağınız bir hata vardır: "Static Files Not Loading". Bu hata, çoğu geliştirici için can sıkıcı olabilir çünkü tasarımınızın düzgün görünmesini engeller. Birçok insan bu hatayı gördüğünde...

Web Geliştirmede Karşılaşılan En Yaygın 10 JavaScript Hatası ve Pratik Çözümleri

** JavaScript, modern web geliştirmede önemli bir yer tutuyor. Ancak, her dilde olduğu gibi, JavaScript ile de geliştiricilerin sıkça karşılaştığı bazı hatalar var. Bu hatalar bazen en deneyimli geliştiricileri bile zor durumda bırakabiliyor. Bugün, JavaScript...

Python "ModuleNotFoundError": Hata Nasıl Çözülür?

Bir Sabaha Uyanmak: Python'da "ModuleNotFoundError" Hatasıyla TanışmakPython programlamaya başladığınızda, her şey güzel ve yolunda gider. Kendi kodunuzu yazıyor, her satırda ilerleyerek büyüyen bir proje üzerinde çalışıyorsunuz. Ama bir sabah, çalıştırdığınız...

JavaScript'te 'Callback Hell' Sorunu ve Modern Çözümler: Promises ve Async/Await ile Refactoring

JavaScript'te Callback Hell Nedir? JavaScript dünyasında yeni bir projeye başlarken, küçük bir iş için yazdığınız basit kodun bir anda karışıp içinden çıkılamaz hale geldiğini hissettiniz mi? Bu his, genellikle "Callback Hell" olarak bilinen karmaşık...

Veri Görselleştirme: Python ile Verilerinizi Sanat Eserine Dönüştürün

Veri analizi dünyasına adım attığınızda, verilerin sayılar ve grafiklerle sınırlı olduğunu düşünebilirsiniz. Ancak, veri görselleştirme, basit bir analizden çok daha fazlasıdır. Aslında, verilerinizi bir sanat eserine dönüştürmek, görsel açıdan etkileyici...