Bugünkü yazımızda farklı alanlarda ilgi ve tartışma yaratan Django konusuna değineceğiz. Django kişisel, mesleki, kültürel, tarihi, sosyal veya politik yönlerden değişebildiği için tek bir odak noktasıyla sınırlı olmayan bir konudur. Pek çok kişinin dikkatini çeken bir konudur ve kapsamını ve etkisini daha iyi anlamak için konuyu farklı perspektiflerden tartışmak önemlidir. Bu makale boyunca Django ile ilgili farklı yönleri analiz edeceğiz, sonuçlarını ve olası çözümlerini araştıracağız.
Orijinal yazar(lar) | Django Yazılım Vakfı |
---|---|
Geliştirici(ler) | Lawrence Journal-World |
İlk yayınlanma | Temmuz 2005 |
Güncel sürüm | 3.1.2 / 10 Ocak 2020 ) |
Önizleme sürümü | 3.1.2 / 2 Ocak 2020 ) |
Geliştirme durumu | Aktif |
Programlama dili | Python |
Boyut | 13.9MB |
Tür | Web application framework |
Lisans | BSD Lisansı |
Resmî sitesi | http://www.djangoproject.com |
Kod deposu |
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 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.
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:
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())
<p>
Başlık: {{ gonderi.baslik }}
İçerik: {{ gonderi.icerik }}
Oluşturulma tarihi: {{ gonderi.olusturulma_tarihi }}
</p>