Python Django Nedir? Kullanım Amaçları Nelerdir?

noktalıvirgül

Deneyimli Moderatör
17 Kas 2020
919
503
Django hakkında öğrenilebileceklerimizin ilk adımını bu yazımızla atalım.

Python programlamanın web bölümünde kullanılan framework’ü ifade eden Django, ilk olarak 2003-2005 yılları arasında gazete web siteleri için çalışan bir web ekibi tarafından geliştirilmiştir. İlk çalışmalarından sonra ortak kodlar ve tasarım modelleri oluşturarak bunları yeniden kullanmaya başladılar. Bu ortak kodlar, 2005’te “Django” projesi olarak açık kaynaklı ve genel bir web geliştirme çalışmasının gerçekleştirilmesini sağladı. Her yeni sürüm ile birlikte yeni veritabanı çeşitleri, şablon motorları ve önbelleğe alma desteği, genel görünüm işlevleri, sınıf ekleme gibi değişen ve gelişen yeni işlevler ve hata düzeltme imkânları doğdu.
Python programlama dili kullanarak, web uygulamaları için kullanılabilen, çevirimiçi kullanıcılar için tasarlanmış bir geliştiricidir.
Django kodları, yeniden kullanılabilir şekilde kodlama yapılması konusunda özendirici tasarım tercihleri kullanılarak yazılır. Don’t Repeat Yourself/Kendini Tekrar Etme (DRY) ilkesiyle kullanılır, o yüzden gereksiz şekilde kod tekrarı yapılmamış olur ve daha az kod ile tasarım yapılmış olur.
Django, Python ile yazıldığı için çok sayıda platformda çalışabilir. Yani belli bir sunucuya bağlı kalmak zorunda olmadan, uygulamaların Linux, Windows, MacOS işletim sistemleri çeşitlerinde çalıştırılabilir. Python Programlama Dili için tasarlanmış, özgür yazılım lisansına sahip, açık kaynak kodlu bir web çatısına sahip, kullanıcıların katkıda bulunabileceği, işbirliği yapılabilen, sürekli gelişen, web sitelerini de geliştirebilen çok yönlü bir web çatısıdır. Güvenli ve sürdürülebilir web siteleri için hızlı geliştirme süreci sağlayan üst düzey bir Python web geliştirici çerçevesi ve geliştirici yazılım çatısıdır.

Django, bileşen tabanlı “shared-nothing” mimarisi kullanır. Bu mimarinin her parçası diğerlerinden bağımsızdır ve değiştirilebilir. Örneğin, talepleri karşılamak için Django’yu ölçeklendiren iki yoğun site, Instagram ve Disqus’tur.
Geliştiricilerin yapmak istedikleri hemen hemen her şeyi sağlayabilir. İhtiyaç duyulanların çok büyük çoğunluğunun tek bir ürün içerisinde sağlanabildiği, hepsinin birlikte sorunsuz çalıştığı tutarlı tasarım ilkeleri doğrultusunda çalışan, kapsamlı belgeler barındıran yazılım sistemidir.
Geliştiricilerin, uygulamaları en kısa zamanda tamamlamalarını ve yaygın olan birçok güvenlik hatalarından kaçınmalarını sağlar.
Django’nın üstün güvenlik hizmetleri vardır. Web sitelerini otomatik olarak korumak için tasarlanmış bir çerçeve içerisinde kullanıldığı için geliştiricilerin güvenlik hatalarından uzak durmalarına katkı sağlar. Bu güvenlik sağlanması konularının içerisinde örneğin, Django kullanıcı hesaplarının, şifrelerinin güvenli şekilde yönetilmesini sağlamak vardır.
Django, bir parolanın doğru olup olmadığını, parolayı karma işlevi ile çalıştırarak çıktıyı saklanan değerle karşılaştırarak kontrol edebilme yeterliliği vardır. Bu işlevin ‘tek yönlü’ olması sayesinde saklanan bir karma değer, güvenlik ihlali nedeniyle riske girse bile bir saldırganın orijinal parolayı ele geçirmesi çok zordur.
Django, birçok güvenlik açığına karşı koruma sağlar. SQL enjeksiyonu, siteler arası komut dosyaları çalıştırma (XSS), siteler arası istek sahteciliği (CSRF), tıklama hırsızlığı, hizmet reddi (DoS), dizin geçişi (dosya ve ifşa), dosya dâhil etme, komut enjeksiyonu gibi birçok güvenlik açığına karşı koruma sağlayabilir.
Bir istemci tarafı çerçevesiyle çalışabilir ve içeriği birçok biçimde sunulabilir. Bunlar arasında HTML, RSS beslemeleri, JSON, XML sayılabilir.
Birçok faydalı özelliğe sahip, bakımlı bir web uygulama Framework’üdür. Django ile geliştirilen uygulamaların bulut sistemlerinde depolanarak daha hızlı şekilde çalışmalarını da sağlayabilir.
Açıklara müdahale edebilmesini ve yazılım çatılarına yama yapılarak risklerin azaltılmasını sağlar.
Windows, Mac., Linux vs gibi tüm işletim sistemlerinde çalışması, pratik ve işlevsel kullanıma sahip olduğunu gösterir.

Genel Anlamda Django Özellikleri:

Kurulumu ve kullanımı basittir.
Kullanıcıya ait bir admin panel yönetim alanı verilir.
Hızlı ve esnek şekilde ölçeklendirilebilir,
Topluluk desteği sağlanabilir,
Tekrarlı olmaması sebebiyle daha kullanışlıdır,
Daha az zamanda daha çok işlem yapma olanağı sağlar,
Verimli kod satırları elde edilmesini sağlar,
Şablon katmanları bulunur. Bu da kodların tekrarlanmasını önler.
Formlar ve geliştirme süreç imkânları vardır,
Yüksek performans, yerelleştirme, uygunluk sağlar,
Web uygulama geliştirilmesinde ortak araç kullanımı sağlar,
Web site tasarımı için gerekli olan temel işlevlere sahiptir,
Hata raporları sayesinde, kullanıcıların sorunlarının çözümünde kolaylıklar sağlar,
Sürekli güncellenen şablonları vardır,
Birçok siber saldırıya karşı koruma sağlar,
Üstün güvenlik hizmetleri bulunur.




Tüm bu özelliklerden anlaşılacağı gibi Django yapısının, birçok farklı web projesinde kullanılabilmesi, aynı zamanda uyumlu bir yapıya sahip olduğunu da gösterir.
 

ABTOHAIM

Üye
27 Mar 2023
97
36
G:Sarajevo
Teşekkürler elinize sağlık çok güzel bir giriş olmuş devamının gelmesini temenni ediyorum. Şuanda bende Django üzerine yoğunlaşmaya çalışıyorum. Kaynak konusunda her şeye açığım.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.