Yeni Proje
django-admin.py startproject oi
Komutuyla yeni bir proje başlatıyoruz. Şimdi sevdiğimiz bir editörle setting.py dosyamızı açıyoruz ve veritabanı ayarlarımızı düzenliyoruz.
Biz bu örnekte fazla ayar gerektirmemesinden ötürü SQLite3 tercih ettik. O yüzden 12 ve 13. satırı şu şeklilde düzenliyoruz:
DATABASE_ENGINE = 'sqlite3'
# ‘postgresql_psycopg2’, ‘postgresql’, ‘mysql’, ‘sqlite3’ or ‘oracle’.
DATABASE_NAME = 'oi'
# Or path to database file if using sqlite3.
Yeni bir uygulama oluşturma
python manage.py startapp anket
Komutuyla yeni bir uygulama oluşturuyoruz.
Projeler ve Uygulamalar
Bu aşamada aklınıza proje ve uygulama arasında ne fark var sorusu gelebilir. Bir uygulama belli bir görevi yerine getirirken bir proje ise birden çok uygulamayı içerisinde barındırır. Benzer şekilde, bir uygulamayı birden çok projede kullanabiliriz.
Modellerimizi Oluşturalım
Modellerimizi, verilerimizi veri tabanında saklayacağımız alanlar olarak düşünebilirsiniz. Bir anket için gerekli olan alanları ise anketler ve seçenekler olarak ele alabiliriz. Anketler içerisinde bir soru ve yayınlanma tarihi, cevaplar içerisinde de her cevabın ne kadar oy aldığını gösteren bir oy alanı ve seçeneklerde tuttuğumuz verileri gösteren bir “seçenek” alanı oluşturuyoruz.
Bunu Django'da şöyle dillendiriyoruz: Anket dizini içindeki models.py dosyasını açıyoruz ve aşağıdaki şekilde düzenliyoruz.
from django.db import models
class Anket(models.Model): #Tablomuzu oluşturuyoruz.
soru = models.CharField(max_length=200) #soru alanını 200 karakterle sınırlandırıyoruz.
y_tarihi = models.DateTimeField('yayin tarihi') #y_tarihi alanı için admin panelinde daha anlaşılır bir gösterim olan “yayin tarihi” etiketini veriyoruz.
class Secim(models.Model):
anket = models.ForeignKey(Anket) #anket tablosuyla secim tablosunu ilişkilendiriyoruz.
secenek = models.CharField(max_length=200)
oy = models.IntegerField()
Modellerimizi oluşturduk fakat bundan projemizin de haberi olması gerekiyor. Bunun için settings.py dosyasında INSTALLED_APPS bölümünü buluyoruz ve şu şekilde düzenliyoruz.
INSTALLED_APPS =(
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'oi.anket',
)
Şimdi Django, projemizde anket uygulamasının da kullanılacağını öğrenmiş oldu.
Sıra veritabanında tablolarımızı oluşturmaya geldi.
python manage.py sql anket
komutuyla modellerimizin sql’ce karşılıklarını görüyoruz.
Ardından
python manage.py syncdb
komutunu verip, tabloların oluşmasını ve admin paneliyle ilgili ufak tefek ayarların yapılmasına başlayabiliriz. Bu komutun ardından bizden admin panelinde kullanmamız için bir süper kullanıcı oluşturmak isteyip istemediğimizi sorduğunda “Yes” deyip devam ediyoruz. Ve şifremizi de girerek ayarları tamamlıyoruz.
Admin Panelini Aktifleştirme
Django admin paneli öntanımlı olarak kapalı olarak gelir. Aktifleştirmek için settings.py dosyasında INSTALLED_APPS kısmını bulup şu şekilde düzenliyoruz.
INSTALLED_APPS =(
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'oi.anket',
'django.contrib.admin',
)
Yeni bir uygulama eklediğimiz için veritabanımızı güncellememiz gerekiyor. Bunun için konsoldan
python manage.py syncdb
komutunu veriyoruz.
Ardından urls.py dosyamızı açıp içerisindeki üç satırı aktif duruma getiriyoruz. Bunun için dördüncü, beşinci ve 16. satırın başında bulunan #’leri silmemiz yeterli olacaktır. Yani dosyamızın son şekli şuna benzemeli:
from django.conf.urls.defaults import *
# Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover()
urlpatterns = patterns('',
# Example:
# (r’^oi/’, include(‘oi.foo.urls’)),
# Uncomment the admin/doc line below and add ‘django.contrib.admindocs’
# to INSTALLED_APPS to enable admin documentation:
# (r’^admin/doc/’, include(‘django.contrib.admindocs.urls’)),
# Uncomment the next line to enable the admin:
(r'^admin/(.*)', admin.site.root),
)
Admin Paneline Giriş
Şimdi
python manage.py runserver
komutuyla Django’nun projeleri geliştirme aşamasında bize kolaylık sağlaması açısından, içinde barındırmış olduğu sunucuyu çalıştırıyoruz. Şimdi tarayıcımıza http://127.0.0.1:8000/ admin/ yazdığımızda sizi şöyle bir ekranın karşılaması lazım.
Buraya kurulum aşamasında belirdiğimiz şifremizi giriyoruz.
“Peki, anketler nerede?”dediğinizi duyar gibi oluyorum :). Anketleri admin panelinden görebilmemiz için yapmamız gereken bir şey daha kaldı: Anket dizini içerisinde admin.py adında bir dosya oluşturup içine şu satırları ekliyoruz:
from oi.anket.models import Anket
from django.contrib import admin
admin.site.register(Anket)
Ardından Ctrl+C ile sunucumuzu kapatıp Python manage.py runserver ile tekrar çalıştırdığımızda anketlerimizi düzenlemeye başlayabilirsiniz.















