EventsBootcampHackathonHiring ChallengeCompanies

Django Nedir

Techcareer
Techcareer
Django Nedir
26.12.2022

Django Nedir?

Django Python programlama dili için tasarlanmış ücretsiz ve açık kaynaklı MVT (Model View Template) mimarisi yapısına sahip, Python’ın tüm avantajlarını kullanabilen bir Web Application Framework’üdür. Django Basitlik, Esneklik, Ölçeklenebilirlik ve Güvenilirlik konularında ön plana çıkmıştır. Öncelikle bu framework az kod ile hızlı geliştirmeyi amaçlamaktadır. Bu yüzden Web sitesinde giriş yazısı olarak “Django makes it easier to build better web apps more quickly and with less code./ Django, daha iyi web uygulamalarını daha hızlı ve daha az kodla oluşturmayı kolaylaştırır.” yazmaktadır.

Framework Nedir?

Yazılım geliştiriciler için planlanan, defalarca kez test edilmiş, genellikle en çok ihtiyaç duyulan fonksiyonları, kütüphaneleri bir araya getirilerek oluşturulan yapılara Framework denilmektedir.

Framework’e örnek vermek gerekirse; bir fotoğraf galerisi oluşturmak istersek, fotoğraf yükleme, düzenleme, boyutlandırma, renklendirme, kırpma işlemleri gibi düşünebiliriz. Her bir özellik için bir fonksiyona ihtiyacımız olacaktır. Fotoğraf yükleme işlemi için bir fonksiyonumuz olacak fakat boyutlandırma veya düzenleme için aynı fonksiyonu kullanamayız. Bu işlem için farklı bir fonksiyon daha yazmamız gerekecektir. Basit bir fotoğraf galerisi uygulaması oluşturmak için bile yüzlerce satır kod, onlarca fonksiyon yazmamız gerekir. Ayrıca kodumuzu Memory Management, Security, Clean Code gibi konularda yüksek seviyelerde tutmak istiyorsak epey uğraşmamız gerekebilir.

Geliştirme sürecinde hazırladığımız kod hemen çalışmayabilir. Mutlaka hatalar olacak, hataları düzeltmekle uğraşacağız. Ortaya çalışır bir uygulama çıkması için uzun bir zamanımızı kod yazmakla geçirebiliriz. Bu senaryoda birçok şeyi öğrenmenizin dışında pozitif bir durum bulunmamaktadır.

Fotoğraf galerisi uygulamasında kullanacağınız birçok fonksiyonun bir araya toplanmış olduğunu ve bunun bir paket olarak yayınlandığını düşünürseniz eğer; saatlerce kod yazmaktan, hatalarla uğraşmaktan kurtulabilirsiniz. Sizin yapmanız gereken tek şey, var olan fonksiyonları kullanarak projenizi geliştirmek olur.

Django Nedir, Ne İşe Yarar?

Django web uygulaması geliştirmek için Python programlama dilini kullarak geliştirme yapabileceğimiz bir Framework’tür. Alternatif web uygulama geliştirme framework’lerine bakacak olursak eğer; C# programlama dilini kullanarak ASP.Net Core, Java programlama dilini kullanarak Spring Framework’ü ile Web uygulaması geliştirebiliriz.

Django öğrenimi ve geliştirmesi kolay olduğu için developerlar tarafından çok tercih edilen bir framework’tür. Geliştirme anında ihtiyaç duyulabilecek birçok kütüphaneye erişiminiz oldukça kolaydır ve Community büyüklüğü nedeniyle de popülerliği her geçen zaman daha da artmaktadır.

Django ile web uygulamalarını hızlı ve performanslı geliştirebilirsiniz. Birçok işletim sisteminde desteği bulunduğu için Cross Platform olarak geliştirmenize devam edebilirsiniz. 

Neden Django Kullanmalıyız?

Django, en popüler Python Web Framework’üdür. Popüler olmasının en büyük artısı Community ortamının büyüklüğüdür. Community ortamının büyük olması demek bu framework’ü kullanan birçok insanın olması ve geliştirme esnasında onlarca hata ile karşılaşıp bunu mutlaka paylaşmış veya çözüm aramış olmaları demektir. Python Django örneklerine ait yüzlerce web sitesi bulabilirsiniz. Hata ile karşılaştığınızda çözüm bulma konusunda hiç sorun yaşamayacaksınız demektir bu.

Diğer yandan popüler olan Django Framework’ünün işlerimizi kolaylaştıracak binlerce kütüphanesi bulunmaktadır. Django’nun, basit bir kurulumu ve kullanımı var. Syntax olarak oldukça kolay okunulabilirliği olduğu için hızlı öğrenme ve geliştirme açısından oldukça iyidir.

Django’nun kendine ait bir yönetim paneli bulunmaktadır. Basit fakat kullanışlı bir tasarıma sahip olan bu panel üzerinden veri ekleme/güncelleme/silme gibi işlemleri gerçekleştirebilirsiniz. Panel üzerinden yine bu hareketlerin geçmişini izleyebilirsiniz. Yönetim paneline sahip olması oldukça pratik bir çözüm olarak karşımıza çıkmaktadır.

GeoDjango Nedir?

Django, GeoDjango isminde bir Modül’e sahiptir. Bu modül konum tabanlı, lokasyon tabanlı, mekansal tabanlı sistemler gibi bir çok coğrafi uygulamaya sahip web uygulamaları geliştirmeye olanak sağlamaktadır. Bu modülün kendine ait onlarca fonksiyonu bulunmaktadır. Bu fonksiyonlar yardımı ile birçok coğrafi geliştirmeleri hızlı bir şekilde geliştirilmektedir. Oldukça popüler bir modül olarak hayatına devam etmektedir.

Performans

Performans konusu sadece Django için değil tüm teknoloji ürünleri için keskin bir noktadır. Django bu konuda oldukça yetkindir. Pagination, Serialization, Database Query gibi konularda Lazy Loading yapı uygulamaktadır. Lazy Loading gerekli olmayan şeylerin çağırılmamasıdır.

Django nesneler üzerinde de Lazy yapısını kullanmaktadır. Keep_Lazy() herhangi bir nesnenin sadece ihtiyaç durumunda değerlendirilmesi için kullanılır.

Django Nasıl Kurulur?

Django kurulumu öncesinde bilgisayar ortamınızda Python kurulu olması gerekiyor. Python’ı Download Python | Python.org adresinden indirebilirsiniz. Python kurulumunu tamamladıktan sonra Django kurulumuna geçmeden önce kod ortamınızı düzenli tutmak için son derece fayda sağlayacağınız bazı tool’lardan bahsedeceğim. Bu tool’lar yardımı ile kodlarınızı düzenli ve okunulabilir bir yapıda saklayabilirsiniz.

  1. Virtual Environment (Virtualenv)

Python veya Django projelerinizi her defasında oluşturduğunuzda ayrı ayrı tutarak izole etmek amacıyla kullanılan bir tool’dur. Bir projede yapacağımız değişikliğin başka herhangi bir yeri bozmasını istemeyiz tabii ki.

Bu tool için yapılması gereken tek şey C:/ dizini içerisinde “pythonenv” isminde bir klasör oluşturmanız ve aşağıdaki komutu yeni oluşturduğunuz klasör içerisinde CMD üzerinde çalıştırmanız.

 

$ python3 -m venv pythonvenv

 

Yeni bir Env yaratmak için “python -m venv myvenv” komutunu kullanarak environment’larınızı çoğaltabilirsiniz. Bu komut satırında myenv; virtual environment’ınızın ismidir.

Django yüklemek için pip (The Python Package Index) kullanılmaktadır. Öncelikle bilgisayarımızda var mı bunu kontrol edelim. Yoksa kurulumunu yapmasını sağlayalım.

 

python3 -m pip install --upgrade pip

 


Ardından bir requirements dosyası oluşturalım ve ihtiyacımız olacak paketleri oraya ekleyelim. Daha sonra kurulumlar için sürekli komut yazmayalım. Bunun için requirements.txt isminde bir dosya oluşturalım ve içerisine aşağıdaki gibi Django keyword’ünü ve versiyonunu ekleyelim.

 

Django~=4.1.2

 

Django ile web sitesi nasıl yapılır?

Yüksek performans sağlayabilmek için daha çok Linux üzerinde geliştirmeler tavsiye edilmektedir. Biz de örnek olarak bir Web uygulaması hazırlayalım. Adım adım ilerleyerek bu sürecin ne kadar hızlı ve eğlenceli olduğunu görebilirsiniz. Django ile hızlı bir web uygulaması geliştirmek için resmi web sayfasında bulunan dökümantasyonunu incelemeyi unutmayın.

Öncelikle projenin fiziksel olarak depolanacağı dizini belirlemek. Örnek olarak C:/ altında Django isminde bir klasörümüz var, bu klasörün içerisinde web uygulamamızı barındırabiliriz.

Terminal açarak bu klasör içerisinde değilseniz aşağıdaki komut ile klasörün içerisine gidebilirsiniz.

cd C:/Django

Bu klasör içerisinde artık yeni web projemizi oluşturabiliriz. Bunu komut yardımıyla yapacağız.

django-admin startproject merhabadunya

Django’da her App Model View Template yapısına sahiptir. Django App’ler üzerinde çalıştığı için yeni bir app yaratmamız gerekiyor. App yaratmak için “merhabadunya” klasöründe iken terminale aşağıdaki komutları yazalım.

python manage.py startapp firstapplication


oluşturduğumuz bu uygulama Django tarafından henüz bilinmiyor. Bu tanıtma işlemini settings.py dosyasına yapmaktayız.

 

INSTALLED_APPS = [

        ‘polls’,

        ‘firstapplication’

]

 

İlk uygulamamızı oluşturduk. Sıra geldi bu uygulamanın çalışacağı Web Server’ı ayağa kaldırmaya.

python manage.py runserver


Bu komutu çalıştırdığımızda Django version ve ‘firstapplication.settings’ bilgisi ekranınıza çıkacaktır. Bu Server’ın ayağa kalktığını gösterir. Web tarayıcınızdan http://localhost:8000 veya http://127.0.0.1:8000 adresine girerek web uygulamanızı test edebilirsiniz. 
Artık güncellemelerimizi veya yeni kurulumlarımızı bu dosyayı baz alarak yapabiliriz.

 

pip install -r requirements.txt

 


Bu işlemin dışında single line olarak da kurulum yapabilirsiniz.

 

pip install Django==4.1.2

 


More Stories

CTF (Capture-The-Flag) Nedir?

CTF (Capture-The-Flag) Nedir?

27.01.2023
Firmaların potansiyel siber güvenlik uzmanlarını bulması için en iyi yollardan biri: Capture the Flag!
Techcareer
Techcareer

TECHCAREER

About Us

SOCIAL MEDIA

TwitterInstagramLinkedinFacebook
techcareer.net
Türkiye’nin teknoloji kariyeri platformu

tr
en
All rights reserved
© Copyright 2023
support@techcareer.net
İşkur logo

Kariyer.net Elektronik Yayıncılık ve İletişim Hizmetleri A.Ş. Özel İstihdam Bürosu Olarak 31/08/2021-30/08/2024 tarihleri arasında faaliyette bulunmak üzere, Türkiye İş Kurumu tarafından 17/08/2021 tarih ve 9317662 sayılı karar uyarınca 170 nolu belge ile faaliyet göstermektedir. 4904 sayılı kanun uyarınca iş arayanlardan ücret alınmayacak ve menfaat temin edilmeyecektir. Şikayetleriniz için aşağıdaki telefon numaralarına başvurabilirsiniz. Türkiye İş Kurumu İstanbul İl Müdürlüğü: 0212 249 29 87 Türkiye iş Kurumu İstanbul Çalışma ve İş Kurumu Ümraniye Hizmet Merkezi : 0216 523 90 26