Register Now

Login


Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Add question

You must login to ask question .

Login


Register Now

Merhaba, kayıt formu üzerinden kayıt olabilirsiniz. Fakat sosyal medya ile kayıt olmanızı önermekteyiz.

Django Formları

Django Formları

Bir önceki makalede, django form mantığına giriş yapmıştık. Eğer okumadıysanız bir göz atmanızda fayda olacaktır : Django Get ve Post

Django FORMLARI

Django framework, modelleri kullanarak formları hazırlar. Form içerisinde email,telefon vb. kontrolleri yapar. Formlar modeller üzerine kurulurak eşleme sağlanır. Django’yu sevmek için bir sebeb daha ortaya çıkmış oluyor.

  • Form tanımlarını form.py adlı dosyada yapmaktayız. Projemize Default olarak form.py hazır gelmez, manuel olarak eklememiz gerekiyor. Ben “Blog” adlı uygulmanın içerisine form.py adlı dosya oluşturuyorum. Oluşturduktan sonar içerisine girelim :

Yukarıdaki gibi, forms.py dosyamıza modülümüz ekliyelim.

  • Şimdi bir “ogrenci” adında bir form oluştralım. (Ad,soyad,email) şeklinde verileri olsun : “required=True” isteğe balı alan demektir.

NOT : Django fromları, model ile bağlantısı sağlamak için verilerine isim verirken model ile aynı olmasına dikkat etmeliyiz!

  • Django formları denetlerken kendi ön tanımlı mekanizmasını kullanılır. Bazı durumlarda kendi denetim çağırılarına ihtiyaç duyarız. Django formlarını denetlerken, her bir alan “cleaned_data” işlevine bakar, eğer tanımlı ise çalışır. Bunu mantığı şöyle açıklayabilirim : Eğer form üzerinde bir hata yakalanırsa bu hata “is_valid()” fonksiyonu ile elde edilir. Elde edilen hata sonucunda “cleaned_data” fonksiyonları çağılarak form verileri silinir. Bu sayeede Saldırı etiketleri, veri önünde ve sonundaki boşlukları engellemiş olduk.

Şimdi görünümleri, oluşturalım yukarda dediklerimizi uygulamaya dökelim.

  • Views.py dosyamıza girelim :

Forms modülünü ekliyelim.
from django.shortcuts import renderfrom Blog import forms# Create your views here.
Modülümüzü eklediğimize göre fonksiyonumuzu yazabiliriz.

  • Gelen post değelerini “öğrenciler” formuna eşleme yapılarak, form değişkeninde depolandı.
  • form.is_valid()” yapısıyla, kurallara uygun bilgilerin girildiğini söylemektedir.

Şimdi görünümleri oluşturabiliriz.

  • templates” klasörümüzde “index.html” oluşturalım ve şöyle yazalım :

[pcsh lang=”python” tab_size=”4″ message=”” hl_lines=”” provider=”manual”]

NOT : Settings.py girip “LANGUAGE_CODE = ‘tr-TR'” olarak türkçe olarak çeviriniz.

Haydi başlatalım!

Siteyi başlatabiliriz ve çıktılarımız şöyle olacaktır :

AD = Ali

SOYADI : Yaman

Email  : Aliymn.db@gmail şeklinde bilgileri girmemiz halinde, sorun olmayacaktır :

django form tebrikler

 


Eğer yanlış bilgiler ve boş bilgiler girersek :

 

django form hatali

Umarım faydalı olmuştur. Model ile bağlantısı bi ilerki makalede değinicem…

 

 

 

 

About Ali YamanProfesyonel

Herzaman bilginin gücüne inanlardan oldum , araştirmalarım ve deneyimlerimlerimi sizlere sunmayı amaçlıyorum. İstanbul Üniversitesi Kontrol ve Otomasyon Öğrencisiyim Elektronik ve Programlama ile ilgim var.

Follow Me

Leave a reply

Captcha Click on image to update the captcha .