Django

Python web çerçevesi

Django, Python Programlama Dili için hazırlanmış ve BSD lisansı ile lisanslanmış yüksek seviyeli bir web çatısıdır. Basit kurulumu ve kullanımı, detaylı hata raporu sayfaları ve sunduğu yeni arayüz kodlama yöntemleriyle diğer sunucu yazılımı ve çatılardan kendini ayırmaktadır. İsmi, caz gitaristi Django Reinhardt'tan gelmektedir.

Django
Orijinal yazar(lar)Django Yazılım Vakfı
Geliştirici(ler)Lawrence Journal-World
İlk yayınlanmaTemmuz 2005 (2005-07)
Güncel sürüm3.1.2[1] / 10 Ocak 2020 (4 yıl önce) (2020-01-10)
Önizleme sürümü3.1.2[2][3] / 2 Ocak 2020 (4 yıl önce) (2020-01-02)
Geliştirme durumuAktif
Programlama diliPython
Boyut13.9MB
TürWeb application framework
LisansBSD Lisansı
Resmî sitesihttp://www.djangoproject.com
Kod deposu Bunu Vikiveri'de düzenleyin

Django Projesi'nin temel hedefi, karmaşık bir yapıda olan ve bir veritabanı kullanan web uygulamalarının gerçekleştirimini kolaylaştırmaktır. Django yeniden kullanılabilirlik, modülerlik, hızlı geliştirme süreci ve DRY prensiplerini sonuna kadar kullanma politikasına sahip bir yapıda tasarlanmaktadır.

Django ayrıca her projeye temel kayıt ekleme, silme, düzenleme ve güncelleme fonksiyonlarını bünyesinde barındıran dinamik bir yönetim paneli sağlar.

Bileşenler

değiştir

Django uygulama çatısı içinde veri modelleri (Python sınıfları olarak tanımlanır) ve ilişkisel veritabanı arasında aracı olarak çalışan bir nesne-ilişkisel eşleştirme bileşeni; düzenli ifadeler tabanlı bir url dağıtıcı; istekleri işlemek için bir görünüm sistemi; ve şablon sistemi barındırır.

Çatının özünde ayrıca aşağıdaki bileşenler de bulunur:

  • Geliştirme ve test için hafif, kendi başına çalışabilir bir web sunucusu.
  • HTML formlarını alıp, veritabanında saklanabilir hale çevirebilen bir form serileştirme ve doğrulama sistemi.
  • Pek çok önbellekleme yönteminden birini kullanabilen bir önbellekleme çatısı.
  • Support for middleware classes which can intervene at various stages of request processing and carry out custom functions.
  • An internal dispatcher system which allows components of an application to communicate events to each other via pre-defined signals.
  • An internationalization system, including translations of Django's own components into a variety of languages.
  • A serialization system which can produce and read XML and/or JSON representations of Django model instances.
  • Şablon motorunun kabiliyetlerlerini genişletebilmek için bir sistem.
  • Python'un dahili birim test çatısına arayüz.

Örnek Django kodu

değiştir
import datetime
from django.http import HttpResponse

def current_datetime(request):
    now = datetime.datetime.now()
    html = "<html><body>Saat ve tarih bilgisi: %s.</body></html>" % now
    return HttpResponse(html)
from django.shortcuts import render
from gonderiler.models import Gonderi

def gonderi_goster(request, gonderi_id):
	gonderi = Gonderi.objects.get(id=gonderi_id)
	return render(request, "gonderi_goster.html", locals())

Örnek Django şablon kodu

değiştir
<p>
    Başlık: {{ gonderi.baslik }}
    İçerik: {{ gonderi.icerik }}
    Oluşturulma tarihi: {{ gonderi.olusturulma_tarihi }}
</p>

Kaynakça

değiştir
  1. ^ Graham, Tim. "Django bugfix release: 3.0.2". 6 Ocak 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Ocak 2020. 
  2. ^ Releases · django/django · GitHub
  3. ^ "Django bugfix release: 3.1.2". 7 Ekim 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Ekim 2020. 

Dış bağlantılar

değiştir