Bu yazıda Django Framework’ün ne olduğuna, ne anlama geldiğine dair bilgiler vermekte, bu hususta bilinmesi gereken temel bilgilere değinmekteyiz.
Frameworklerden Django, okunuş olarak jang-oh olarak okunmaktadır. Python’dan yararlanılarak geliştirilen hem ücretsiz hem de açık kaynak olarak kullanılan bir framework olarak karşımıza çıkmaktadır.
Bir yazılım projesini tamamen baştan yapmaya çalışmak kuşkusuz ki son derece yorucu ve zorlu bir süreci temsil eder ancak frameworkler geliştiricilerin daha önce geliştirdiği ve kullanılan şablon yapıları kullanıcılarla buluşturur. Bu bağlamda geliştiriciye yardımcı olunur. Frameworkler çeşitli projelere ve uygulamalara yönelik olarak ayrılmış durumdadır. Django da bunlardan biri olarak hizmet göstermektedir.
İlk kez 2003 yılında fikir olarak ortaya çıkan Django, bir yazılım ekibi tarafından ortaya çıkarılmıştır. Özellikle haber içerikli web siteleri oluşturan ve onların işleyişinden sorumlu olan takım, üst üste oluşturdukları web sitelerinin ardından yapmış oldukları çoğu eylemin birbirine benzer olduğunu fark ettiklerinden bunları tek bir çatı altında toplamaya karar verdiler ve böylece Django Framework’ü ortaya çıkardılar. Django’nun açık kaynak bir proje olarak duyurulması 2005 yılının Haziran ayını bulmuştur. Zamanla geliştirilen ve büyüyen Django günümüzdeki haline evrilmiştir.
Kolay bir syntax’a sahip olması, bunun yanı sıra MVC yani Model View Controller mimarisinin olması onun öne çıkan iki özelliğidir. MWC bir yazılım mimarisi olup, kullanıcı arayüzü, işlenen veri ve arayüz ile arasındaki işlemleri ayırmaktadır. Bunların yanı sıra Django kendisine has bir ORM yapısına sahiptir.
Django’da güvenlik oldukça önemlidir. Yaygın güvenlik problemlerine karşı geliştiricilere yardım edilmektedir. Bu bağlamda clickjacking, cross-site scripting, SQL injection tehditlerine karşı verilen savaş karşımıza çıkar. Clickjacking kullanıcıların arka planda bilgi hırsızlığı, yanlış yönlendirme gibi eylemlere maruz kalmasına neden olan bir güvenlik açığıdır. Cross-site scripting, yazılımcının kullanıcıdan almış olduğu bilgileri filtreden geçirmediğinde meydana gelebilmektedir. SQL injection ise kötü bir yazılımın SQL sorgularının arasına bilgi hırsızlığı yapabilecek bir eklenti yerleştirmenin meydana getirdiği güvenlik sorunudur. Django, bu sorunlara karşı ve benzer pek çok yazılım tehdidine karşı geliştirilmiş donanımlı bir yapıdadır.