Django Nedir ve Neden Bu Kadar Popüler?
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 bilinenframeworklerinden 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ürdiyebiliriz. Django ayrıca açık veriyi destekler,kendi içerisinde özelleştirilebilir ve
geliştirilebilirhaldedir. Bu yapıdan esnektir ve ölçeklendirilebilir. Bunun yanı sıra güvenilirdir, syntax i açısındanphp ve benzerlerine nispeten daha basittir.Popülerliğini makul ve mantıklı sebeplerle böylece kolayca
açıklayabileceğimiz Django diğerframework’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’lerarasından sıyrılmayı başarıyor. İsmini bir komedi serisinden alan Python un framework une debö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ıziçin kontrol paneli geliştirme konusunda daha da rahatlatıyor. Yukarıda saydığım noktalardaDjango, 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?
2. Neden Django?
İsmini bir caz gitaristinden alan Django, sadece eğlenceli ismiyle bile diğer framework’lerarasından sıyrılmayı başarıyor. İsmini bir komedi serisinden alan Python un framework une debö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ıziçin kontrol paneli geliştirme konusunda daha da rahatlatıyor. Yukarıda saydığım noktalardaDjango, 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 neleriçereceği ve nasıl kullanılacağını belirten katmandır. View katmanı ise Model ve Template(Şablon)atmanları arasında köprü görevi görmektedir.Veritabanından, sunucudaki donanımlarda, sunucudili 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ğerfaydalar 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 modellemetabanı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 birURL 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 beraberDjango' 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/ benzeribilgilerin kaldırılması, iki faktörlü doğrulama sistemi kullanılması, güncel Django sürümlerinintercih 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 diliolan 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ınabaşlayabilmek için ilerlemelisiniz. Sadece dökümente edilmiş kodlarını takip ederek bile
Django’ yabaş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ılanUdemy, YouTube, Coursera vb. dışında şu linkte belirtilen kaynaklar da oldukça faydalı gözüküyor.Şimdiden keyifli kodlamalar.