1. Django Nedir, Neden Bu Kadar Popüler?
Django günümüz dünyasında en popüler yazılım dillerinden biri olan Python’un en bilinen frameworklerinden biridir. Kolay kurulumu, ücretsiz oluşu ve detaylı hata raporu sayfaları sağlamasıyla geniş kitlelere hitap eder. Ancak Django nedir sorusuna sanırım, bizlere hızlı, modüler, güvenli ve reusable geliştirme ortamı sağlayan popüler bir web-application framework’üdür diyebiliriz. Django ayrıca açık veriyi destekler,kendi içerisinde özelleştirilebilir ve geliştirilebilir haldedir. Bu yapıdan esnektir ve ölçeklendirilebilir. Bunun yanı sıra güvenilirdir, syntax i açısından php ve benzerlerine nispeten daha basittir.
Popülerliğini makul ve mantıklı sebeplerle böylece kolayca açıklayabileceğimiz Django diğer framework’ler arasındaki yerini kolayca bırakmayacak gibi duruyor.
2. Neden Django?
İsmini bir caz gitaristinden alan Django, sadece eğlenceli ismiyle bile diğer framework’ler arasından sıyrılmayı başarıyor. İsmini bir komedi serisinden alan Python un framework une de böyle farklı bir isim gerekirdi öyle değil mi? Fakat Django’nun bu kadar popüler olmasının sebebi bu değil tabi ki.
İlk olarak Django bizlere çok detaylı bir dökümantasyon sunuyor. Bu durum özellikle günümüz veri çağında yeni teknolojiler bombardımanına tutulan bizlere büyük bir avantaj sağlıyor diyebiliriz.
İkinci olarak Django bizleri web-development sırasında çok sık kullanılan authentication( üye girişi yapmak, üye çıkışı yapmak ve kayıt olmak ), formlar, dosya yükleme ve uygulamanız için kontrol paneli geliştirme konusunda daha da rahatlatıyor. Yukarıda saydığım noktalarda Django, içinde hazır barındırdığı içerikleri ile sizleri bekliyor.
Üçüncü olarak Django MVT tasarım mimarisi üzerinde şekillendirilmiştir. Peki nedir bu MVT?
MVT ile dizayn edilmiş Django uygulamasının temel çalışma model örnek görseli
Model-View-Template olarak açabileceğimiz MVT’de, Model veriye ulaşma, sorgulama, silme, düzenleme ve ekleme işlemleri için kullanılır. Django da models.py dosyası olarak görürüz Model’i. Template ise Türkçeye şablon olarak çevirebileceğimiz, html, css, js, json, xml gibi dosyaların neler içereceği ve nasıl kullanılacağını belirten katmandır. View katmanı ise Model ve Template(Şablon) katmanları arasında köprü görevi görmektedir.Veritabanından, sunucudaki donanımlarda, sunucu dili bağlantılardan alınan bilgileri şablonlara yansıtır.
Buna göre 3 katman üzerine dizayn edilen sistem veritabanı işlemlerimizde bize kayda değer faydalar sağlamakta. Data erişim katmanı veriyi, taslak katmanı kullanıcı arayüzünü modellerken kontrol katmanı ise data ve taslak katmanı arasındaki etkileşimi kontrol eder. Django’ yu modelleme tabanında birçoğundan ayıran özellik aslında burada devreye giriyor. Django’ nun kendine özgü HTML tabanlı bir taslak dili mevcut ve bu dil geliştiricinin modelini, taslak katmanıyla birlikte bir URL ile eşledikten sonra yapı kullanıcıya sunulur. Django’nun kendine has taslak dili ve alışılagelmiş MVC tasarım dizaynından ayrılıp MVT ile modellenen yapısı ona farklı bir pencereden bakmamızı sağlıyor. MVC tasarım dizaynı da başka bir yazının alt başlığı olabilir.
Son olarak ise güvenlik... Django nun bu konuda verimli bir koruma sistemi olduğu aşikar, peki ama neden?
Django dökümantasyonunda, XSS,SSL/HTTPS CSRF korumalarına ilave olarak; SQL injection, Clickjacking gibi saldırılara karşı alınacak tedbirlerden detaylı olarak bahsetmiş.Bununla beraber Django' nun geliştiricilerine tavsiyesi koruma sisteminin özelliklerinin tam anlamıyla kullanılması yönünde. Öyle ki, HTTPS protokolünün kullanılması, URL üzerinden default /admin/ benzeri bilgilerin kaldırılması, iki faktörlü doğrulama sistemi kullanılması, güncel Django sürümlerinin tercih edilmesinin potansiyel sorunlara çözüm olabileceği düşünülüyor.
Örneklemek gerekirse, önde gelen teknoloji devlerinden Django kullananlardan birkaçı; Instagram, Spotify, Youtube, Google ve dahası.
3.Nasıl Django Geliştiricisi Olabilirim?
Şimdi size Django framework unun kurulumundan bahsedelim. Terminale sahip olmasından dolayı çoğu geliştiricinin tercihi olması gerektiğine inandığımız Linux tabanlı işletim sistemleri için kurulumu şöyle;
Bahsettiğimiz üzere Django bir web framework u. Bu framework u kurmak için onun yazılım dili olan Python u kurmalıyız. Daha sonrasında ise Python üzerinde bir şeyler kurmak için onun paket yönetim sistemi olan Pip’i kurmalıyız. Bu noktada
sudo apt-get install python3-pip
yeterli olacaktır. Ancak öncesinde python un kurulu olduğundan, uyumlu versiyonlar üzerinde çalıştığınızdan ve güncellemenizin yapılı olduğundan emin olmalısınız.
Daha sonrası ise pip kullanarak oldukça basit;
pip3 install Django
Sonrasında ise bir uygulama oluşturmalısınız;
django-admin startproject django_app
Ve yetkilendirilme sorunlarını gidermek için bir üst kullanıcı/admin yetkilendirmelisiniz.
Tebrikler, ilk Django Python uygulamınızı oluşturdunuz devamında ise server üzerinden yayına başlayabilmek için ilerlemelisiniz. Sadece dökümente edilmiş kodlarını takip ederek bile Django’ ya başlamış oldunuz. Yayınınız aksi ayarlanmadığı sürece localhost 8000 den yerel olarak yapılacaktır.
Peki nereden çalışırız biz bu Django’ya dediğinizi duyar gibiyim. Bunun içinse çokça kullanılan Udemy, YouTube, Coursera vb. dışında şu linkte belirtilen kaynaklar da oldukça faydalı gözüküyor.