Django Görünümler ve Adresler
Published in
2 min readJan 25, 2017
Bu yazımda Django’da Görünümler (Views) ve Adresleri (URLs) inceleyeceğiz. Django kütüphanesi diğer web geliştirme programlarından farklıdır. Öncelikle bir sayfanın görüntülenmesi için bu sayfanın oluşturulabilmesi ve görüntüsünün oluşturulması gerekmektedir. Django’da görünümden kasıt tarayıcıda çağırıldığında işletilecek işlevdir.
Görünümler (Views)
Tüm programlama dilleri, Merhaba Dünya ile başlar. Bizde bu geleneği bozmayacağız. Şimdi PyCharm IDE’yi başlatıp boş bir Django projesi oluşturun. (Örnek proje ismi: MerhabaDunya) Ardından views isminde bir python dosyası oluşturalım. Dosyamızın içeriği aşağıdaki gibi olmalıdır:
# -*- coding: utf-8 -*-
from django.http import *def merhaba_dunya(request):
return HttpResponse(u'Merhaba Dünya')
Burada tanımladığımız merhaba_dünya fonksiyonu, tarayıcıya 'Merhaba Dünya' metnini gönderir. Burada gönderilecek metin HttpResponse() nesnesi olarak döndürülür.Unicode karakter setini kullanmaya zorlamak için, Django'nun kullandığı tüm Python dosyalarının ilk satırında # -*- coding: utf-8 -*- kodu bulunmalıdır.
Adresler (URLs)
Yukarıda tanımladığımız görüntüden sonra projeyi başlattıysanız ekranda 'Merhaba Dünya' mesajını görmediniz. Çünkü, bu görüntüyü URL dosyamızda adres belirtmedik. Bu kısımda bunun nasıl yapılacağını öğreneceğiz.Tarayıcıda bir adresi çağırdığımızda Django'nun hangi işlevi işleteceğini urls.py dosyasında belirtiriz. Bu dosya otomatik olarak oluşturulur. Varsayılan olarak gelen dosyanın içeriği aşağıdaki şekildedir:from django.conf.urls import url
from django.contrib import adminurlpatterns = [
url(r'^admin/', admin.site.urls),
]
Hazırladığımız görünümleri çağırabilmek için bu dosyaya eklememiz gerekmektedir. İmport işlemini aşağıdaki biçimde yaparız.from merhaba_dunya import viewsDaha sonra urlpatterns değişkenine aşağıdaki biçimde adresi tanımlarız:url(r'^merhaba/', views.merhaba_dunya),Burada url nesnesi iki argüman almaktadır. Birincisi tarayıcı adresi, ikincisi ise bu adres çağırıldığında views.py dosyasında işletilecek olan fonksiyondur. url tanımlamalarında her satırın sonuna virgül konulduğuna dikkat edin. Yaptığımız bu işlemlerden sonra urls.py dosyasının son hali;from django.conf.urls import url
from django.contrib import adminfrom merhaba_dunya import viewsurlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^merhaba/', views.merhaba_dunya),
]
Yaptığımız bu tanımlamadan sonra merhaba dünya sayfası görüntülenir. Projenizi başlatın ve tarayıcınızda http://127.0.0.1:8000/merhaba/ adresini çağırın. Bir hata yapmadıysanız ekranda ilgili yazıyı görüyor olacaksınız.Projenin bu haliyle tarayıcıda http://127.0.0.1:8000/ adresini çağırdığınızda 404 hatası alırsınız. Bu hatayı almanızın nedeni bir ana sayfanızın olmayışıdır. Ana sayfa oluşturmak için görünüm ve url tanımlaması yapılır. Ben kafanızı daha fazla karıştırmamak için az önce tanımladığımız merhaba dünya fonksiyonunu ana sayfa yapacağım. Bir sayfayı ana sayfa yapmak istersek $ işaretini kullanırız.url(r'^$', views.merhaba_dunya),bu tanımlama sonrası projenizi çalıştırdığınızda başlangıç sayfası olarak merhaba dünya gelecektir. Bir sonraki yazımda Django projelerinde Template(Şablon) kullanımını inceleyeceğim.