12 Mart 2014 Çarşamba

Modellerin Görünümler ile Kullanılması

Modelleri görünümler ile kullanmanın daha önce yaptıklarımızdan pek bir farkı yoktur. Daha önce bir tablo içerisinden verileri şu şekilde almıştık.
doktorlar = Doktor.objects.all()
İşte bu şekilde aldığımız verileri görünüm(view) içerisinden şablonlara(template) aktaracağız ve kullanıcıya göstereceğiz. İlk önce şablonlarımızı saklayacağımız dizini oluşturalım.
yonetim/sablonlar
Şimdi şablon dizinin yolunu settings.py dosyası içerisine ekleyelim. TEMPLATE_DIRS değişkenine şu satırı ekliyoruz.
TEMPLATE_DIRS = (
os.path.join(anadizin,'yonetim/sablonlar')
)
Buradaki anadizin değişkenini daha önceden tanımlamıştık. İsterseniz bi hatırlayalım.
dizin = os.path.dirname(__file__)
anadizin = os.path.split(dizin)[0]
Oluşturduğumuz yonetim uygulaması içersinden sablonlar dizinini oluşturuyoruz. Şablonlarımız burada saklayacağız. Doktorları listeleyecek bir görünüm hazırlayacağız. yonetim içersindeki views.py dosyasına şu kodları ekliyoruz.
## models dosyasını içe aktarıyoruz
from models import *


def Doktor_listesi(request):
        ## Daha önce kullandığımız Doktor.objects.all() fonksiyonu ile verileri doktorlar değişkenine atıyoruz.
 doktorlar = Doktor.objects.all()
 return render_to_response('doktor_listesi.html',locals())
Şimdi doktor_listesi.html şablonunu oluşturuyoruz. Şablonun yonetim/sablonlar dizininde olmasına dikkat edin.
<!DOCTYPE html>
<html>
<head>
    <title>Doktorlar Listesi</title>
</head>
<body>

<table border="1">
    <tr><th>Sıra</th><th>Adi</th><th>Soyadi</th><th>Telefon</th><th>E-Posta</th></tr>

    {% for doktor in doktorlar %}
    <tr>
        <td>{{ doktor.adi }}</td>
        <td>{{ doktor.soyadi }}</td>
        <td>{{ doktor.telefon }}</td>
        <td>{{ doktor.eposta }}</td>
    </tr>
    {% endfor %}

</table>

</body>
</html>
Geriye sadec url'i eklemek kaldı. hastahane/urls.py dosyasını açarak aşağıdaki kodları ekliyoruz.
##yonetim uygulaması içerisindeki views dosyasını içe aktarıyoruz
import yonetim.views

### url kımsını ekliyoruz.
url(r'^doktorlar/',yonetim.views.Doktor_listesi),
hastahane/urls.py dosyasının son hali şu şekilde olacaktır.
from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

import yonetim.views

urlpatterns = patterns('',

    url(r'^admin/', include(admin.site.urls)),
 url(r'^doktorlar/',yonetim.views.Doktor_listesi),
)
url'i de eklediğimize göre artık adresimize ulaşabiliriz. Şimdi tarayıcıya
http://localhost:8000/doktorlar/
adresini girelim. Aşağıdaki gibi bir çıktı alacağız.
Modelleri şablonlar ile kullanmak bu kadar basit. Sizde daha farklı uygulamalar yaparak kendinizi deneyebilirsiniz. Kaynakça

0 yorum :

Yorum Gönder