- 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.
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.