25 Mart 2014 Salı

Django'da Formlar - II

Merhaba Arkadaşlar,

Bir önceki blogumda sizlere genel olarak formları anlatmıştım. Burada ise Django'da form mantığını anlatacağım. Bu blogda yapacaklarımızı gördükten sonra aslında geçen blogda yaptıklarımızın bizlere fazladan iş yükü olduğunu göreceğiz. Haydi Django'nun bize ne gibi kolaylıklar sağladığına bakalım. 

Django modelleri kullanarak formları hazırlar. Tüm denetimleri kendisi yapar. Bu ikinci cümlem biraz uçuk gözükebilir ama öyle. Denetimleri kendisi yapıyor, bize sadece kullanmak kalıyor. Bunu bir örnek ile inceleyelim. formlar modeller üzerine kurulur ve uygulama-dosyası/proje-dosyası konumunda forms.py dosyasında belirtilir. Geçen haftalarda üzerinde çalıştığımız okul projesinde Öğretim elemanları için bir form hazırlayalım. Bunun için okul/yonetim/forms.py dosyasını oluşturup aşağıdaki satırları dosyaya yazalım : 


# -*- coding: utf-8 -*-

from django import forms

class OgretimElemaniFormu(forms.Form):
    adi = forms.CharField()
    soyadi = forms.CharField()
    telefonu= forms.CharField(required = False )
    e_posta_adresi = forms.EmailField(required = False)


15 Mart 2014 Cumartesi

Django'da Formlar - I

Merhaba Arkadaşlar,

Bu hafta sizlere Django'da formları anlatacağım. Etkileşimli web sayfaları hazırlamanın yolu FORM kullanmaktan geçer. Web'in en kullanışlı niteliği ve belki de internet üzerindeki öteki servislere göre daha yaygın olmasının nedeni formlardır. Örneğin: e-bankacılık, e-sigortacılık, e-ticaret, e-eğitim,... gibi etkileşimli her işte form kullanılır. Formlar, kullanıcıdan veri (bilgi) almak için düzenlenir. 


Ayrıca formlar web geliştiricileri için en sıkıcı elemanlardır. Oldukça basit bir mantığı olmasına karşın sürekli aynı işlerin yapılması programcıları bıktırır. Eğer Django kullanmıyorsanız kullanıcıdan gelen verinin denetimi, uygun veri gelmediğinde tekrar kullanıcıya (bir önceki gönderisi ile doldurulmuş) formu göstermek gibi bir takım benzer ve sıkıcı işler sizi bekliyor demektir. Django web formlarının otomatik olarak üretilmesini sağladığından böyle sıkıcı işlerle uğraşmanıza gerek kalmaz. 

Öncelikle işleyişin nasıl olduğunu anlamak için GET ve POST yöntemleri arasındaki farkı ve standart HTML formlarını inceleyelim.



GET ve POST

Kullanıcı veriyi size iki yöntemle gönderebilir: GET ve POST. İki yöntemle de kullanıcıdan veri almak mümkün. Ancak aralarında belli başlı farklar var. Örneğin GET ile veri alırsanız tüm veri tarayıcının adres çubuğunda görünür ve boyutu yaklaşık olarak 2KB civarıdır.