Django'ya Giriş

Django - Full Stack Python

Neden Django öğrenme gereği duydum?

Çalıştığım yerde bana bağlı mavi yakaların tüm vardiyelerde kontrol ettikleri parçaları rapor kağıdını yazması gerekiyor. Benimde bu kağıtları alıp belirli bi düzenle Excel'e girmem ve bazen tedarikçiye bazen mühendislere bazen müdürlere iletmem gerekiyor.Aynı zamanda stok durumunu öğrenmem bunları da bazen grafiksel olarak yorumlamam gerekiyor. Neden bunlardan bahsediyorum derseniz, neden djangoya başladığımı öğrenirsiniz.

Bir site yapmaya çalışıcam ve bana bağlı mavi yakalar vardiye sonunda kontrol ettikleri parçaları girecekler ve bende onları siteden çekicem. Bu sayede hergün belirli saatlerde ofisten fabrikaya gitmekten ve raporları tek tek Excel'e girmekten kurtulacağım. İnşallah başarılı olurum.

Neden PHP kullanmadım derseniz hem zaman alacak hemde böyle faydalı notlar almadığım için zamanında çoğu kısmını unutmuşum. Bende krizi fırsata çevirmek istedim ve bu vesileyle django da öğreneyim dedim.

Bu arada django öğrenme serüvenimi bu tutorial'ı takip ederek gerçekleştirmeyi planlıyorum. Zaman zaman farklı kaynaklarda kullanacağım fakat temel kaynağım bu site.


Django Framework Nedir?

Aslında neden bir framework'e ihtiyaç duyarızın yanıtını verelim.

Hadi framework olmadan sadece python ile bir web sayfası yapalım.
Kodlar'a takılı kalmayın sadece html tagleri arasında python kodlarının nasıl olduğuna bakın.

#!/usr/bin/env python

import MySQLdb

print "Content-Type: text/html\n"
print "<html><head><title>Books</title></head>"
print "<body>"
print "<h1>Books</h1>"
print "<ul>"

connection = MySQLdb.connect(user='me', passwd='letmein', db='my_db')
cursor = connection.cursor()
cursor.execute("SELECT name FROM books ORDER BY pub_date DESC LIMIT 10")

for row in cursor.fetchall():
    print "<li>%s</li>" % row[0]

print "</ul>"
print "</body></html>"

connection.close()
Az satırda kod için bu pekte kötü bir örnek değil. Okunabilir. Fakat daha büyük projelerde okunamaz hale gelecek ve python ile html kodları birbirine girecek. Ayrıca yenilenebilir değil. Herhangi bir yenileme yada düzenleme işleminde tüm tagleri değiştirmek zorunda kalabilirsiniz. Ayrıca tasarımcı ve programcı birlikte çalışması gerekir. Framework kullanmanın artıları sadece bunlar değil bir çok detay var bunla ilgili. Eğer daha fazlasını görmek istiyorsanız tutorial'ımıza göz atabilirsiniz. Detay

Django Kurarken Nelere Dikkat Etmeli?

Django python tabanlı olduğu için kurulumuda python ile gerçekleştirilir.


  • Komut istemini aç
  • cd komutu ile Django'nun bulunduğu dosyayı gel.
Anlamadım ben derseniz bunu okuyun: Eğer siz komut isteminde c:\Users'da isteniz ve django'yu rar dosyasından D sürücüsüne çıkardıysanız komut istemine cd d:\ yazmanız gerekece.
  • Daha sonra komut satırına şu kodları yazın c:\Python27\python.exe setup.py install
Burada ki c:\Python27\python.exe kısmını niye yazdık? Çünkü setup.py dosyasının çalıştırılması için önce python yorumlayıcısının çalışması gerekli. Peki python yorumlayıcısını nasıl çalıştırıyoruz python dosyasının içindeki python.exe'yi çalıştırarak.
  • Eğer üstteki adımda başarılı olduysanız bu adımı ekstra olarak yazıyorum. Eğer windows path'e c:\Python27\ yi eklediyseniz komutu direk python setup.py install olarak kısaltabilirsiniz.
  • Windows'a path eklemek ne derseniz o da şudur ki; siz her defasında c:\Python27\python.exe yazmaktansa kısaca python yazarak aynı işlemi yapabilirsiniz. Nasıl path'e eklerim derseniz sizi şöyle alalım.
Kurulum işlemi biraz zaman alabiliyor sabırlı olun.

Nasıl Yeni Proje Oluştururum?

  • Hani django'yu rar dosyasından çıkarmıştık ya. Şimdi o dosyanın içine gir. Daha sonra şu adımları izle. Django-1.9.7\django\bin Bu bin dosyasını windows'da path'e ekle. 
Örnek: c:\Django-1.9.7\django\bin
  • Komut istemiyi çalıştır.
  • Daha sonra cd komutu ile projeyi nereye kurmak istediğini seç.
Örnek: cd c:\Users\ilkproje
  • Şu komurları yaz. django-admin.py startproject ilkproje
Belirtiğiniz klasör içinde bazı dosyaların oluştuğunu göreceksiniz. Bu dosyalar;

ilkproje/
    manage.py
    ilkproje/
        __init__.py
        settings.py
        urls.py
        wsgi.py


Şimdi tek tek bu dosyaların ne işe yaradığını ele alalım.

manage.py

Django ile çeşitli yollarla etkileşim yapmaya yaparar. Bu dosyayı düzenlemeyeceğiz.

__init__.py

ilkproje klasörünü bir paket olarak pythona tanıtmak için gerekli olan dosyadır. Bu dosyayıda düzenlemeyeceğiz.

settings.py

Projenin ayar ve konfigürasyon kısımlarını içeren python dosyasıdır. İçine bakmakta fayda var ne tarz ayarlamalar var diye öğrenmek için.

urls.py

İçerik listesi olarak düşünülebilir. Projenizin url adreslemelerinin olduğu dosyadır.

wsgi.py

Bu dosyayı şuanlık anlamadım ama ileride anladığım zaman burayı düzenleyeceğim.


Django Sunucuyu Çalıştırma


  • Komut istemini çalıştır.
  • Projenin kurulu olduğu dosyaya cd komutu ile gelin. Bunu nasıl yapılacağını artık biliyorsunuz.
  • Daha sonra şu komutları yazın python manage.py runserver
Validating models...
0 errors found.

Django version 1.4.2, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Bu tarz bi geri dönüş aldıysanız doğru yoldasınız.

Sonraki notlarda görüşmek üzere.

Comments