Django
- 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
# 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.
Sık karşılaştırılanlar
İlgili sayfalar
- PythonProgramlama Dilleri, s. 26Python, okunaklı sözdizimiyle bilinen; veri bilimi, otomasyon ve web arka uçlarında yaygın kullanılan, genel amaçlı ve dinamik tipli bir programlama dilidir.
- FrameworkProgramlamanın Temelleri, s. 22Framework, bir uygulamanın yapısını sağlayan, yeniden kullanılabilir kod, araç ve kural temelidir; geliştiriciler yalnızca kendi mantıklarını doldurur.
- ORMVeritabanları, s. 24ORM, veritabanı tablolarını programlama dilinizdeki nesnelere eşleyen ve ham SQL yerine kodla veri okuyup yazmanızı sağlayan bir kütüphanedir.
- MVCYazılım Mimarisi, s. 26MVC, uygulamayı veri ve mantık için Model, gösterim için View ve kullanıcı girdisini yöneten Controller olmak üzere üçe ayıran bir mimari desendir.
- REST APIBackend ve API'ler, s. 38REST API, verileri URL'lerle tanımlanan kaynaklar olarak sunan ve istemcilerin onları standart HTTP metotlarıyla okuyup değiştirmesini sağlayan web API'sidir.
- CSRFGüvenlik, s. 5CSRF, oturum açmış kullanıcının tarayıcısını güvenilir bir siteye istenmeyen istek göndermeye kandıran, sitenin de gerçek kullanıcı eylemi sandığı saldırıdır.
- FlaskBackend ve API'ler, s. 17Flask, yönlendirme, istek işleme ve şablonlar sağlayan, veritabanı ve proje yapısı gibi seçimleri geliştiriciye bırakan hafif bir Python web framework'üdür.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin