# Django

Adres: https://softwaredictionary.org/tr/terimler/django
Kategori: Backend ve API'ler
Son güncelleme: 2026-10-03
Okunuşu: cengo

Kısaca: Django, ORM, yönetim paneli, kimlik doğrulama ve güvenlik korumalarıyla gelen açık kaynaklı bir Python web framework'üdür; bu sayede ekipler hızlı geliştirir.

## Django nedir?

Django, Kansas'ın Lawrence kentindeki bir gazetede, sıkışık teslim tarihleriyle haber siteleri kurmak için geliştirildi ve 2005'te açık kaynak olarak yayımlandı. "Pilleri dahil" (batteries included) felsefesini izler: her iş için ayrı kütüphaneler seçmek yerine veritabanı katmanı, URL yönlendirme, şablonlar, formlar, kimlik doğrulama, yönetim arayüzü ve önbellekleme tek ve tutarlı bir pakette gelir.

Bir Django projesi modeller, view'lar ve şablonlar olarak düzenlenir. Modeller verinizi tarif eden Python sınıflarıdır; Django'nun ORM'i onları veritabanı tablolarına çevirir ve SQL yazmadan sorgulamanızı sağlar. View'lar bir isteği işleyip yanıt döndüren fonksiyonlar ya da sınıflardır, şablonlar da HTML'i oluşturur. Django bu kalıba, MVC'nin kendi yorumu olan MTV der.

En sevilen özelliklerinden biri otomatik yönetim panelidir: Django modellerinizden, çalışanların veri ekleyip düzenleyebileceği ve arayabileceği çalışan bir arka ofis üretir. SQL injection, siteler arası betik çalıştırma (XSS), siteler arası istek sahteciliği (CSRF) ve clickjacking gibi yaygın saldırılara karşı da kutudan çıktığı gibi korur. API'ler için Django REST Framework, REST uç noktaları kurmaya yarayan serializer'lar ve view'lar ekler.

Sık yapılan bir yanlış, Django'nun yalnızca küçük siteler için olduğu düşüncesidir. Instagram'ın bazı bölümleri dahil büyük servisleri çalıştırır; önbellekleme, okuma kopyaları ve arka plan işçileriyle ölçeklenir. Hazır özellikler yerine esnekliği seçen Flask ya da FastAPI gibi minimal framework'lere göre daha çok kural koyar.

## Önemli noktalar

- Django, açık kaynaklı ve "pilleri dahil" bir Python web framework'üdür.
- Modeller, view'lar ve şablonlar MTV yapısını oluşturur.
- ORM'i Python sınıflarını veritabanı tablolarına eşler.
- Modellerinizden otomatik bir yönetim paneli üretilir.
- Yerleşik korumalar SQL injection, XSS, CSRF ve clickjacking'i kapsar.

## Örnek: Bir model ve bir view

```python
# models.py: Django creates the table from this class
from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=200)
    published = models.DateTimeField(auto_now_add=True)

# views.py: query with the ORM, render a template
from django.shortcuts import render

def latest(request):
    articles = Article.objects.order_by("-published")[:10]
    return render(request, "latest.html", {"articles": articles})
```

## Sık sorulan sorular

**Django ön yüz mü, arka uç mu?**

Arka uç. Django sunucuda çalışır, istekleri işler, veritabanıyla konuşur ve HTML ya da JSON döndürür. Sayfaları kendisi oluşturabilir ya da React gibi ayrı bir ön yüz için API sunabilir.

**Django ile Flask arasındaki fark nedir?**

Django ORM, yönetim paneli, kimlik doğrulama ve daha fazlasını kutudan çıktığı gibi içerir. Flask ise size yönlendirmeyi veren ve gerisini seçtiğiniz eklentilere bırakan bir mikro framework'tür.

**Django REST Framework nedir?**

Django üzerinde web API'leri kurmaya yarayan popüler bir kütüphanedir. Modelleri JSON'a çeviren serializer'lar, REST uç noktaları için view'lar, kimlik doğrulama ve tarayıcıdan gezilebilen bir API ekler.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
