Django ilk uygulamamızı yazıyoruz – 1

Django’da ‘Merhaba Dünya!’ uygulamamızı yaptıktan sonra artık uygulama geliştirmeye başlayabiliriz. Ama ilk önce uygulamamızın yönetimi için Django’nun gelişmiş yönetim panelini etkinleştirmemiz gerekiyor. Yönetim panelini etkinleştirdikten sonra Twitter benzeri bir uygulama yapabiliriz. Ardından template sistemini kullanarak yaptığımız uygulamayı webe aktaracağız. Django’nun veritabanı ayarını yapabilmek için bir veritabanı sunucusu kurmamız lazım. Django ile en iyisi PostgreSQL. Ama MySQL de kullanılabilir. İkisi içerisinde ayarlamalar aynı denilebilir.

Şimdi projemizin ilkProjem/settings.py dosyasını düzenlememiz gerekiyor. Dosyayı açtıktan sonra şu kısmı düzenlememiz gerekiyor.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': '',                      # Or path to database file if using sqlite3.
        # The following settings are not used with sqlite3:
        'USER': '',
        'PASSWORD': '',
        'HOST': '',                      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'PORT': '',                      # Set to empty string for default.
    }
}
  • Django 4 adet veritabanı tipi destekliyor. Bunlar PostgreSQL, MySQL, Sqlite ve Oracle. ENGINEdeğerinin sonuna kullanmak istediğiniz uygulama için veritabanı tipini yazacaksınız. Biz MySql kullandığımız için ‘mysql’ ekledik.
  • NAME kısmı veritabanı adı. Oluşturduğunuz veritabanı adını girin.
  • USER ve PASSWORD için kullanıcı adı ve şifrenizi girin.
  • HOST için şu değeri girin: 127.0.0.1 . Bu veritabanını bulunduğu sunucu adresi. Yani yerel makine.
  • PORT’u boş bırakabilirsiniz.

Bunları yaptıktan sonra şuna benzer bir görüntü elde edeceğiz.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'ilkProjem',                      # Or path to database file if using sqlite3.
        # The following settings are not used with sqlite3:
        'USER': 'root',
        'PASSWORD': '',
        'HOST': '127.0.0.1',                      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'PORT': '',                      # Set to empty string for default.
    }
}

Ardından Windows için MySQLdb eklentisini kurmamız gerekiyor. Bu adresten Windows kurucusunu indirip kurduktan sonra INSTALLED_APPS değişkenine gelip aşağıdakileri ‘uncomment’ etmeniz gerekiyor. Yani önündeki ‘#’ işaretini kaldırmanız gerek.

  • django.contrib.admin
  • django.contrib.admindocs

Şimdi ilkProjem/urls.py dosyasını açın ve şu şekilde düzenleyin.

from django.conf.urls import patterns, include, url

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'ilkProjem.views.home', name='home'),
    # url(r'^ilkProjem/', include('ilkProjem.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    url(r'^admin/', include(admin.site.urls)),
)

Bu da tamamlandığına göre her şey hazır demektir. Şimdi komut satırını açıp, projemizin dizinine geçmek gerekiyor. Ben masaüstümdeki Django dizinine kurmuştum projeyi. Şimdi oraya geçip şu komutu yazmam gerekecek.

cd Desktop
cd Django
cd ilkProjem
python manage.py syncdb

Bunu yazdıktan sonra tabloların oluşturulduğuna dair mesajlar alacaksınız ve ardından SuperUser oluşturmanız için bilgilerinizi isteyecek. O bilgileri yazdıktan sonra yönetici paneline girebileceksiniz. İşte ekran görüntüsü.
Syncdb komutundan sonraki ekran görüntüsüArtık yönetici panelinize giriş yapabileceksiniz. Konsolda oluşturduğunuz süper kullanıcı ile giriş yapıyorsunuz. Şimdi sunucuyu çalıştırmak için şu komutu yazalım: python manage.py runserver

Ardından giriş yapmak için şu adrese gitmeniz yeterlidir: http://127.0.0.1:8000/admin/

Django Admin PaneliYönetim için dökümantasyonu açmak için Python docutils modülünü yüklememiz gerek. Onu buradan indirebilirsiniz. İndirdikten sonra bilgisayarınızın düzenli olması namına Python’ın kendi dizini içerisine komple çıkartıp, ardından install.py’yi çift tıkla çalıştırırsanız kurulacaktır. Sonra Django’yu yeniden başlatmamız gerekiyor. Bunun için de CTRL+C ile sunucuyu kapatıp önceki komutu tekrarlamanız yeterli. Artık dökümantasyon da kullanıma hazır.

Şu anlık Türkçe değil ama işimizi görürNe yazık ki şu anlık Türkçe’ye çevrilmemiş vaziyette. Ama burada çoğu fonksiyonu ve template sistemini öğrenebilirsiniz. Anasayfadan yeni kullanıcılar ekleyebilir ve gruplar oluşturabilirsiniz. Bunun dışında sitelerinizi de kontrol edebilirsiniz.

Djangoya giriş ve windows kurulumu

Temmuz ayının sıcak günlerinde beynimin pişmesiyle beraber laflarımın çoğunu Python ve Django oluşturmaya başladı. Django demeye başlayınca çevrem “Django da ne yaaaaa” demeye başladı. Django’yu Google’da olduğu gibi aratırsanız film adı çıkıyor. Ama bu değil. Django’nun ne olduğunu, bize neler getirdiğini, avantajlarını ve en önemlisi nasıl kurulacağını anlatacağım. Eğer bir terslik de çıkmazsa Django ile ilgili yazılarımı yazacağım ve püf noktalarını anlatacağım. Django için en genel tanım bir web framework’udur.

Django Web Framework

Django bir web framework’üdür ve Python dili ile yazılmıştır. Açık kaynak olarak dağıtılmaktadır ve geliştirilmektedir. Python altyapısını kullanır. MVC yapısını kullanır.

Kendine özgü template sistemiyle dinamik sitelerinizi rahatlıkla oluşturabilirsiniz. Oldukça gelişmiş bir URL yapısı vardır ki 5 dakikada sadece urls.py dosyasını düzenleyerek SEF linkler yaratabilirsiniz. Ayrıca hem sunucuyla etkileşim, hem de web yazılımı yapmak istiyorsanız gayet etkili bir yapısı var. Python’ın masaüstü yazılım gücüyle Django’nun webdeki gücünü birleştirerek oldukça güzel uygulamalar yapılabilir.

Ayrıca hızlı çalışır ve kaynak sıkıntısı çekmezsiniz. Az kaynağa sahip sunucularda bile gayet performanslı çalışır.

İlk olarak Django’nun son sürümünü indirmemiz gerekiyor. Django’yu bu sayfadan indirdikten sonra Python kurmamız gerek. Django’yu indirdiyseniz, arşiv dosyasını ben C: klasörüne açtım. İstediğiniz bir yere açın. Şimdi Python kurmamız gerekiyor. Python’ın 3.x.x sürümlerine tam olarak hakim olamadığım için ben 2.x.x sürümlerini indiriyorum. Bu sayfadan Python’ı indirdikten sonra ortam değişkenlerinden ‘Path’ değişkenine Python yolunu eklememiz gerekiyor.

Python’ı ben C:\Python27 klasörüne kurdum. Sürümüm 2.7 olduğu için böyle bir ad aldı. Şimdi komut satırından ‘python’ı çalıştırmak için ortam değişkenlerini düzenlememiz gerekiyor.

Python CMD

Gördüğümüz gibi ‘python’ yazınca uygulamayı çalıştıramıyoruz. Çalıştırmak için ortam değişkenlerini düzenlememiz gerek. Windows 8 kullanırken aramadan ‘ortam değişkenleri’ diye aratırsanız, 2 adet sonuç alırsınız. Siz sistem ortam değişkenlerini düzenleyeceksiniz. Şimdi ‘Path’ isimli değişkeni seçin ve düzenleye tıklayın. Ardından Python’ı nereye kurduysanız o klasörün yolunu belirtmemiz gerekecek yani şöyle.

Python PathKaydettikten sonra konsolda ‘python’ yazıp çalıştırabiliriz.

Düzgün şekilde çalışıyorŞimsi Django’yu çıkarttığımız dizine gidip Django’yu kurabiliriz. Django’yu indirmiştik ve bir dizine açmıştık. Ben Django’yu C:\Django-1.5.1 dizinine kurdum. Şimdi o dizinin içine cd komutu ile giriyorum. Ardından şu komutu yolluyorum.

python setup.py install

Django kurulmaya başlayacaktır. Konsolumuz bir yığın şeyle dolacaktır. Şimdi ilk projemizi yaratmamız için Django’yu kurduğumuz dizin içerisinden django-admin.py dosyasını bulmalıyız. Onu bulduktan sonra masaüstüne veya herhangi bir müsait yere atıp oradan çalıştıracağız. Gene ben bu dosyayı bulup C:\Users\user\Desktop\Django\ dizinine attım. Bu dizinden çalıştırıyorum. Şimdi ilk projemizi oluşturalım. django-admin.py dosyasını çalıştıracağız.

django-admin.py startproject ilkProjem

Eğer konsol ekranında bir şey görünmüyorsa ve django-admin.py’nin bulunduğu dizinde ilkProjem diye bir klasör oluştuysa başarıyla Django’da proje oluşturdunuz demektir. Klasörün içine girdiğinizde karşınıza manage.py dosyası çıkacaktır ve proje adıyla bir klasör daha. Şimdi ilk projemizi çalıştıralım ve Python’dan biraz yararlanalım. Gelecek yazılarımızda ise nasıl ‘Merhaba Dünya!’ diyeceğimizi ve SEF Url sistemini yapacağız. Oluşturduğunuz projeyi çalıştırmak için yapmanız gereken django-admin.py dosyasının bulunduğu dizinden, oluşturduğunuz projenin bulunduğu dizine geçmek. Yani sırasıyla yapmanız gerekenler:

cd ilkProjem

python manage.py runserver

Bu komutları da yazdığınızda karşınızda şöyle bir çıktı olacaktır.

Validating models...

0 errors found
July 12, 2013 - 22:16:23
Django version 1.5.1, using settings 'ilkProjem.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

Şimdi http://127.0.0.1:8000 adresine giriyoruz …

[12/Jul/2013 22:19:07] "GET / HTTP/1.1" 200 1960

… sonuç başarılı projemiz çalışıyor. Dikkat ederseniz konsolda isteklerin gelişini de görebilirsiniz.

Tebrikler, Django’yu başarıyla kurdunuz ve ilk projenizi yaptınız!