WEB APPLICATIONS WITH DJANGO: DEVELOPING REST APIS EĞİTİMİ

Django ile güvenli REST API'ler geliştirin

Django REST Framework ile ViewSet, JWT, izinler, filtreleme, test ve OpenAPI dokümantasyonu içeren API'ler yazın.

Eğitim, Django model ve ORM özetinin ardından Django REST Framework ile Serializer, APIView, generic view, ViewSet ve Router kullanımını işler.

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

DRF ile üretim kalitesinde REST API geliştirin.

Eğitim, Django model ve ORM özetinin ardından Django REST Framework ile Serializer, APIView, generic view, ViewSet ve Router kullanımını işler. Token/JWT kimlik doğrulama, nesne düzeyi izinler, sayfalama, django-filter, throttling ve CORS, APITestCase ile test, drf-spectacular ile Swagger dokümantasyonu ve Gunicorn/Nginx ile yayına alma uygulanır.

Süre ve Format

3 Gün. Her gün dört modül; sabah kavram ve demo, öğleden sonra API geliştirme; son gün dağıtım ve dokümantasyon.

Seviye

Orta Seviye — Django REST Framework ile serializer, ViewSet, kimlik doğrulama, filtreleme, OpenAPI dokümantasyonu ve dağıtım

Öğrenme Metodu

Her bölümde bir kaynak (ör. ürün, sipariş) için uç noktalar yazılır, Postman ve curl ile test edilir.

Neden Bu Eğitim?

🎯API Tasarımı

REST ilkeleri, durum kodları ve sürümleme ile tutarlı API'ler tasarlarsınız.

🛠️Güvenlik

Kimlik doğrulama, izin ve hız sınırlama ile uç noktaları korursunuz.

📈Dokümantasyon ve Test

OpenAPI şeması ve otomatik testlerle API'yi güvence altına alırsınız.

Anahtar Konular

Django REST FrameworkDRF eğitimiDjango REST APIserializer ViewSetJWT Djangodrf-spectacularSwagger OpenAPIPython backendREST API geliştirme
“İyi API, kullanıcıya ne yaptığını değil ne yapabileceğini anlatır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Python

Sınıflar, dekoratörler ve JSON bilgisi gerekir.

2
Django

Temel Django kullanımı (model, URL, view) bilinmelidir.

3
HTTP

HTTP yöntemleri ve durum kodları hakkında genel bilgi beklenir.

4
Ortam

Python 3.10+, Django, djangorestframework ve Postman veya curl gerekir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı API'nin dayandığı modelleri ve ORM sorgularını hazırlar.
Modül 1
Django Proje İskeleti ve MVT Mimarisi
  • django-admin startproject ve startapp ile proje/uygulama iskeleti
  • settings.py: INSTALLED_APPS, DATABASES, TEMPLATES, STATIC_URL
  • Model-View-Template deseni ve istek-yanıt döngüsü (WSGI/middleware)
  • urls.py, path(), include() ve isimli URL'ler (reverse)
  • manage.py runserver, check, migrate ve shell komutları
  • Sanal ortam, requirements.txt ve proje klasör düzeni
Modül 2
Model Tanımlama ve Migration
  • models.Model, alan türleri (CharField, DateTimeField, DecimalField) ve seçenekler
  • null, blank, default, choices ve validators
  • makemigrations, migrate, sqlmigrate ve migration geçmişi
  • Meta sınıfı: ordering, indexes, constraints, verbose_name
  • __str__, özel metotlar ve model yöneticileri (Manager)
  • SQLite'tan PostgreSQL'e geçiş ayarları
Modül 3
Model İlişkileri
  • ForeignKey, on_delete seçenekleri (CASCADE, PROTECT, SET_NULL)
  • ManyToManyField, through modeli ve ara tablo alanları
  • OneToOneField ile profil genişletme deseni
  • related_name ve ters ilişki erişimi (_set)
  • Kendine referans ve genel ilişkiler (GenericForeignKey)
  • Veri bütünlüğü kısıtları ve unique_together
Modül 4
ORM Sorguları ve QuerySet
  • all, filter, exclude, get ve alan arama ifadeleri (__icontains, __gte)
  • Q nesneleriyle OR/AND ve F ifadeleriyle alan karşılaştırması
  • annotate, aggregate, Count, Sum, Avg ve values()
  • select_related ve prefetch_related ile N+1 sorunu çözümü
  • Slicing, order_by, distinct ve tembel değerlendirme
  • str(qs.query), Django Debug Toolbar ve connection.queries ile sorgu inceleme
Günün hedefiKatılımcı serializer ve ViewSet ile güvenli uç noktalar yazar.
Modül 1
Django REST Framework Temelleri
  • REST ilkeleri, HTTP fiilleri, durum kodları ve kaynak tasarımı
  • Serializer, ModelSerializer ve doğrulama (validate_<alan>)
  • @api_view ve APIView ile uç noktalar, Response ve status
  • Generic view'lar: ListCreateAPIView, RetrieveUpdateDestroyAPIView
  • ViewSet, ModelViewSet ve Router ile otomatik URL üretimi
  • Browsable API ve Postman/curl ile test
Modül 2
Sınıf Tabanlı View'lar (CBV)
  • View, TemplateView ve as_view() çalışma mantığı
  • ListView, DetailView, CreateView, UpdateView, DeleteView
  • get_queryset, get_context_data ve form_valid geçersiz kılma
  • Mixin'ler: LoginRequiredMixin, PermissionRequiredMixin
  • success_url, reverse_lazy ve sayfalama (paginate_by)
  • CBV ve FBV arasında seçim kriterleri
Modül 3
DRF Kimlik Doğrulama, İzin ve Filtreleme
  • TokenAuthentication, SessionAuthentication ve JWT (SimpleJWT)
  • Permission sınıfları: IsAuthenticated, IsAdminUser, nesne düzeyi izinler
  • Sayfalama: PageNumber, LimitOffset ve Cursor
  • django-filter, SearchFilter ve OrderingFilter
  • Throttling (hız sınırlama) ve CORS ayarları (django-cors-headers)
  • İç içe (nested) serializer ve ilişkili alanlar
Modül 4
Kimlik Doğrulama ve Yetkilendirme
  • django.contrib.auth: User, login, logout, authenticate
  • LoginView, PasswordChangeView ve parola sıfırlama akışı
  • AbstractUser ile özel kullanıcı modeli (AUTH_USER_MODEL)
  • İzinler (permissions), gruplar ve @permission_required
  • Oturum (session) yönetimi ve çerez ayarları
  • Parola doğrulayıcıları ve güvenli saklama (PBKDF2/Argon2)
Günün hedefiKatılımcı API'yi test eder, dokümante eder ve dağıtır.
Modül 1
API Test, Dokümantasyon ve Dağıtım
  • APITestCase, APIClient ve force_authenticate
  • drf-spectacular ile OpenAPI şeması ve Swagger UI
  • API sürümleme stratejileri (URL, header)
  • Hata yanıt biçimi ve özel exception handler
  • Gunicorn + Nginx, ortam değişkenleri ve DEBUG=False kontrol listesi
  • Celery ile arka plan görevleri ve Redis broker
Modül 2
Django Test, Güvenlik ve Dağıtım
  • TestCase, Client ve test veritabanı yaşam döngüsü
  • Factory Boy / fixtures ile test verisi
  • XSS, CSRF, SQL enjeksiyonu ve clickjacking korumaları
  • manage.py check --deploy ve güvenlik ayarları (SECURE_*, HSTS)
  • Statik/medya dosyaları, collectstatic ve S3 depolama
  • Docker ve Gunicorn ile dağıtım
Modül 3
Python ile Birim Test ve Kalite
  • pytest fixture, parametrize ve assert yapısı
  • unittest.mock ile bağımlılıkları taklit etme
  • Kapsam ölçümü: coverage.py ve pytest-cov
  • Tip ipuçları (type hints) ve mypy ile statik denetim
  • ruff/flake8 ve black ile otomatik biçimlendirme
  • pre-commit ve GitHub Actions ile test otomasyonu
Modül 4
GitHub Actions Temelleri
  • .github/workflows altında workflow YAML yapısı: name, on, jobs, steps
  • Tetikleyiciler: push, pull_request, schedule (cron), workflow_dispatch
  • runs-on, GitHub-hosted runner'lar ve ubuntu-latest etiketi
  • uses ve run adımları, actions/checkout ve setup-* eylemleri
  • Ortam değişkenleri, env, ifadeler (${{ }}) ve bağlamlar (github, env, secrets)
  • Workflow çalıştırma günlükleri, yeniden çalıştırma ve hata ayıklama

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Django mimarisi

Django projesi başlatıp MVT yapısını ve istek-yanıt döngüsünü açıklayabilirsiniz

⚙️
Modeller ve migration

model sınıflarını tanımlayıp migration ile şemayı yönetebilirsiniz

🔍
ORM sorguları

QuerySet, Q ve F nesneleriyle verimli veritabanı sorguları yazabilirsiniz

📊
DRF temelleri

serializer ve APIView ile JSON REST uç noktaları yazabilirsiniz

🧩
API güvenliği

token/JWT kimlik doğrulama, izin sınıfları ve filtreleme ile güvenli API sunabilirsiniz

🚀
Kimlik doğrulama

Django auth sistemiyle giriş, kayıt, izin ve özel kullanıcı modeli kurabilirsiniz

🔒
Test ve güvenlik

birim test yazıp güvenlik kontrol listesiyle Django uygulamasını yayına hazırlayabilirsiniz

📦
Python kod kalitesi

pytest ile test yazıp kod kalitesini araçlarla denetleyebilirsiniz

Kimler İçin Uygundur?

  • Backend geliştiriciler
  • mobil/SPA arka ucu hazırlayan yazılımcılar
  • Django bilgisini API'ye taşımak isteyenler

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Backend geliştiriciler, mobil/SPA arka ucu hazırlayan yazılımcılar ve Django bilgisini API'ye taşımak isteyenler. Ön bilgi beklentileri için eğitimin ön koşullar bölümüne bakabilirsiniz.
DRF ile FastAPI arasındaki fark nedir?
DRF, Django ORM ve admin ekosistemiyle bütünleşir; eğitim DRF'nin güçlü ve zayıf yönlerini bu bağlamda ele alır.
Kimlik doğrulama yöntemleri nelerdir?
Session, Token ve JWT (SimpleJWT) uygulamalı olarak kurulur; nesne düzeyi izin örnekleri de yapılır.
Eğitim sonunda sertifika verilir mi?
Katılım ve başarı koşullarını yerine getiren katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.
Eğitim uygulamalı mı ilerliyor?
Her bölümde bir kaynak (ör. ürün, sipariş) için uç noktalar yazılır, Postman ve curl ile test edilir. Süre 3 gündür; her gün dört modül işlenir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Web Applications with Django: Developing REST APIs Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
KonuPython
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

PythonPython-based Dashboards with Plotly and Dash Eğitimi
Yazılım Geliştirme Eğitimleri

Python-based Dashboards with Plotly and Dash Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Python-based Dashboards with Plotly and Dash eğitimi: plotly ve Dash ile Python'da veri panosu tasarlayıp yayına alın. 3 gün uygulamalı lab ve DVA sertifikası.

Detayları Gör →
PythonPython: sıkıcı işleri otomatize et Eğitimi
Yazılım Geliştirme Eğitimleri

Python: sıkıcı işleri otomatize et Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

Python: sıkıcı işleri otomatize et eğitimi: günlük ofis ve bilgi işlem görevlerini Python script'lerine dönüştürün. 3 gün uygulamalı lab ve DVA sertifikası.

Detayları Gör →
PythonSelenium Deep Dive: Managing Data Elements Using Python & Selenium Eğitimi
Yazılım Geliştirme Eğitimleri

Selenium Deep Dive: Managing Data Elements Using Python & Selenium Eğitimi

2 günİleriOnline / Yüz Yüze / Hibrit

Selenium Deep Dive: Managing Data Elements Using Python & Selenium eğitimi: selenium ile karmaşık veri öğelerini kararlı biçimde okuyup yönetin. 2 gün uygulamal

Detayları Gör →
PythonSelenium ve Python ile Test Otomasyonu Eğitimi
Yazılım Geliştirme Eğitimleri

Selenium ve Python ile Test Otomasyonu Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Selenium ve Python ile Test Otomasyonu eğitimi: web arayüz testlerini Python ve Selenium ile kodlayıp CI'a bağlayın. 3 gün uygulamalı lab ve DVA sertifikası.

Detayları Gör →
PythonSelenium WebDriver with Python (Intermediate) Eğitimi
Yazılım Geliştirme Eğitimleri

Selenium WebDriver with Python (Intermediate) Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Selenium WebDriver with Python (Intermediate) eğitimi: temel Selenium bilginizi, kararlı ve yapılandırılmış testlere taşıyın. 2 gün uygulamalı lab ve DVA sertif

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn