Kayıt Ol

Giriş


Şifremi Kaybettim

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

soru ekleme

You must login to ask question.

Giriş


Kayıt Ol

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

Django Rest Framework – Serialization Kullanımı

Django Rest Framework – Serialization Kullanımı

Merhabalar, üçüncü yazıyla karşınızdayım. Zaman buldukça django rest framework serisini bitirmeye çalışıcam. Bir önceki makalede, hızlı başlangıç yaptık. Hızlı başlangıç ile, çok üstün körü bir inceleme yaptık, bundan sonraki yazılarda rest framework’ün bütün parçalarını tek tek inceleceğiz. İlk parça olarak Serialization anlatacağız, umarım faydalı olur.

İlk makaleyi okuduğunuzu ve gerekli kurulumları yaptığınızı varsayarak ayrıca boş veya dolu bir django projeniz olduğunu varsayarak anlatımlara devam edicem.

Lafı çok uzatmadan, başlıyalım.

Şimdiki örneğimiz,

pygments-kurulumu

Ubuntu Paste adlı bir sitemiz olduğunu düşünelim. Bu sitede sürekli kod paylaşılıyor, Aynı mantıkla çalışan “pygments” adlı modülü kullanarak, kod paylaşım sitesi için api hazırlayacağız.

 


httpie-kurulumu

 

Ayrıca, yapacağımız api sitemini test etmek için “httpie” adlı modülü kullanacağız. Bu sayede, kuracağımız api’ye yanıtlar yollayip, istediğimiz verileri çekeceğiz. Httpie hakkında daha detaylı bilgi almak için, https://httpie.org/ ziyaret ediniz.

 

 

 

Gerekli Kurulumlar

  • pygments kurulumu

  • httpie kurulumu

Haydi Başlıyalım, başlamadan önce sıcak bir kahve tavsiye edilir 🙂


1-) Settings.py Ayarların Yapılması

Klasik olarak, yüklü olan paketi aktif hale getirmemiz gerekiyor.

2-) Model Oluşturma

django-admin-panel

Kod açıklamalarını okumadan aşşağı inmeyin!

Yapıyı ilk gördüğümüzde karışık gelebilir, ama gelmesin aslında çok basit !

  • LEXERS,LANGUAGE_CHOICES ve STYLE_CHOICES adlı değişkenler, pygments modülün özellikleridir.
  • Snippet” adlı klasik django modeli oluşturduk.

Modeli Admine Ekliyelim.

admin.py‘a girip şunları yazalım ;

Modeli ve kullanıcıyı artık oluşturalım!;


3-) Serialization Oluşturma

Django modellerini Serialization bağlayacağız. Bu sayede, api işlemleri aslında Serialization tarafından yürütülmeye devam edecektir.

Olayı şöyle özetleyebiliriz ;

Eğer Api sistemine , get istediği gelirse views.py gerekli kontrolü yapip, serializers.py verileri yönlendirip bize JSON çıktı atacaktır.

Eğer api sistemine update ve create yani post yoluyla istek yollanırsa views.py gerekli kontrolü yapip, serializers.py verileri yönlendirip, verileri modellere işleyecektir.


Dediklerimi, uygulayarak gösterirsem daha anlaşılır olabilir.

Python shell çalıştıralım.

İlk olarak, modülleri ekliyelim.

İkinci olarak, bir kaç veri ekliyelim.

Üçüncü olarak, eklediğimiz veriyi çekelim.

Şeklinde bize, çıktı atacaktır. Tamamiyle bir dict(sözlük) şeklinde bir çıktıdır.

Döndürcü olarak, JSON Çıktı

Json olarak çıktı almak istiyorsak ;

şeklinde JSON çıktı alacağız.

4-) Views.py Fonksiyonlarını Oluşturma

Yukarda anlatıklarım biraz kafada arap saçına dönmüş olabilir ama views.py görünce biraz daha ortalık aydınlacaktır.

Özetlemek gerekise ;

Öncelikle views.py request(yanit) geliyorsa, sonrasında post edilecekse is_valid() filitresinde geçiyor, gerekli kontroller edildikten sonra(yok ise 404 göster) serializer tarafından gönderilip, json çıktı kullanıcıya yansiyor.

4-) Url.py Rotaları Oluşturma

Son olarak, rotalarımızı oluşturup bitirelim.


Admin panele girip, 4-5 adet veri ekliyelim.

python-get-ve-post

python-hello-world


Şimdi, siteye http istek yollayalım.

django-rest-framework

Windows için CMD , linux için terminal ekranını açalım.

Tüm verileri aldık harika!

Şimdi  id’e göre veri çekelim.

 

Hakkında 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.

Beni Takip Et

Leave a reply