Meşe Bilişim'de şirket kurucusu Şahin Mersin'in anlatımı ile ilk uygulamamızı ve projemizi oluşturduk. Kısaca ders esnasında gerçekleştiridiğimiz ve öğrendiğimiz adımlardan bahsedeceğim. Sürç-i lisan edersem lütfen yorum bölümünde düzeltiniz.

Django web çatısı, Git sürüm kontrol sistemi, Ubuntu işletim sistemi gibi ders içerisinde kullanacağımız unsurlardan daha önce bahsettim, bu yazıda kullanacağım ifade edeceğim her bilgi GNU/Linux dağıtımı üzerinde paragrafın başında bahsettiğim unsurlar ile gerçekleştirilmektedir.


Proje Oluşturma

Django ile ilk projemizi oluşturmaya başlayalım. Öncelikle projemizi oluşturacağımız dizinde projelerimizin yer alacağı bir klasör oluşturalım. Meşe Bilişim Software Testing dersi dahilinde uygulama geliştirdiğimiz için ben klasöre "mesebilisimsw" ismini vereceğim.

mkdir mesebilisimsw

Komut satırından yukarıdaki komutu işlettiğimizde bizim için bulunduğumuz dizinde "mesebilisimsw" isimli bir klasör oluşturur. 

cd mesebilisimsw

Bu komut ile oluşturduğumuz klasör içerisine geliriz. Projelerimizi burada oluşturacağız ve ilk projemiz bir "blog uygulaması" olacak. Fakat biz öncelikle sanal ortamımızı oluşturalım.

python3 -m venv myvenv

Yukarıdaki komut ile bir virtual environment oluşturduk. Python/Django kurulumlarımızı her proje için ayrı tutmaya yarayan bu araç son derece gereklidir, lütfen bu adımı atlamayınız. Sanal ortam kurulumu ve ayrıntılarından bir başka yazıda bahsedeceğim.

cd myvenv/bin

source activate

Sanal ortamımız kurulduktan sonra bu ortamı aktif etmemiz gerekmektedir. Bu nedenle sanal ortamımızın bulunduğu dizin içerisinde bin klasörü içerisinde aktif etmemiz gereklidir. Yukarıdaki komutları işlettiğinizde sanal ortamın aktifleştiğini göreceksiniz.

pip install --upgrade pip

Artık pip kurulumuna geçebiliriz. Bu projemiz için gerekli olan en güncel pip paket yöneticisini kurulumunu yukarıdaki komutu işleterek gerçekleştirelim.

pip install django~=1.9

Yukarıdaki komutu işlettiğimizde bizim için Django web çatısının 1.9 sürümünü kuracaktır. Komut satırında şu şekilde bir çıktı göreceksiniz.


Collecting django~=1.9
  Downloading Django-1.11.10-py2.py3-none-any.whl (6.9MB)
    100% |████████████████████████████████| 7.0MB 111kB/s 
Collecting pytz (from django~=1.9)
  Using cached pytz-2018.3-py2.py3-none-any.whl
Installing collected packages: pytz, django
Successfully installed django-1.11.10 pytz-2018.3

Başarılı bir şekilde kurulum gerçekleşti şayet bir hata mesajı görüyorsanız, öncelikle "pip" paket yöneticisini güncellediğinizden emin olun ardından "pip install django" komutunda bir syntax hatası var mı kontrol edin yada en kolayı ve doğrusu olan hata mesajını okuyunuz. 

django-admin startproject proje


İlk projemiz olması nedeniyle projemizin adını akılda daha kalıcı olması için "proje" olarak oluşturuyorum. Bu adım bazılarımız için kafa karıştırıcı olabilir fakat derste bu şekilde tercih ettik.

Bu adımı Pycharm üzerinden de gerçekleştirebiliriz fakat ben bir IDE kullanmadığım için bu konu hakkında pek bilgi sahibi değilim. İsterseniz Pycharm aracılığı ile de bu işlemi gerçekleştirebilirsiniz.


├── manage.py
└── proje
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

Startproject komutumuzun ardından "proje" isimli klasörümüz içerisinde şu şekilde bir yapı göreceğiz. Burada oluşan py uzantılı dosyalardan kısaca bahsedelim.

manage.py Django uygulaması olan sitemizi yönetmemizi sağlayan scripttir. Bu script ile web sunucusu da başlatabiliriz ve tüm projemizi yöneten komutları işletebiliriz.

settings.py Django uygulamamız ile ilgili yapacağımız ayarlamaları barındırır.

urls.py Django uygulamamızda bir yönlendirici görevi üstlenir.

Tüm bu işlemlerin ardından bir şeylerin çalıştığını görmek sanırım bu yazıyı da amacına ulaştıracak. Bu nedenle "manage.py" scriptinin bulunduğu dizinde aşağıdaki komutu işletelim.

python manage.py runserver

Bu komut "migrate" hatası verse dahi çalışacaktır. Sunucumuzun başladığını ve "It worked" çıktısını görüyorsanız ilk Django projenizi başarı ile oluşturdunuz demektir.