Python Django Rest API Oluşturma

Merhabalar bu yazımda  size Python Django Rest API oluşturmayı anlatacağım. API oluşturmak için “djangorestframework” modülünü kullanacağız.

Python Django Rest API Oluşturma

 

Python Django Rest API oluşturmaya başlamadan önce proje ortamını hazırlayalım.

 

Django Proje Ortamının Hazırlanması

Öncelikle gerekli olan modüllerimizi kurarak başlayalım.

Django’yu kurmak için

pip install django

komutunu PowerShell veya CMD terminalimize yazabiliriz. Diğer kullanacağımız modülü ise

pip install django

yazarak kurabiliriz.

Sonrasında Django projemizi oluşturmak için terminalimize

django-admin startproject api_example

komutunu yazıyoruz.

Daha sonra oluşturduğumuz klasörün içine girmemiz gerekiyor.

cd api_example

ile ilgili klasöre gidiyoruz.

 

Klasörün içerisine girdiğimizde yeni bir ayrı uygulama oluşturuyoruz. Bu işlem nerdeyse tüm Django

projelerinde olur. Geliştirici dışardan dahil etmek istediklerini bu şekilde dahil eder. Projelerin

sağlığı açısından tercih edilen bir yöntemdir. Bunu aşağıdaki kod ile yapıyoruz.

python manage.py startapp api

 

Yeni başlayan çoğu kişi burada hata yapıyor. Genellikle bu hatanın nedeni kullanıcının ilk başta oluşturduğu klasörün içine “cd dizinadı” şeklinde girmemesidir. Ben başta “api_example” şeklinde bir klasör oluşturdum. Bu yüzden  “cd api_example” komutunu terminale yazıp ilgili klasörün içerisine girdim.

Eğer bir problem yoksa “api_example” klasörünün altında bulunan “api_example/settings.py” dosyasına gidiyorum. Bu dosya içerisinde yer alan “INSTALLED_APPS” bölümüne geliyorum.

"<yoastmark

En alt satıra ‘api’ şeklinde ayrı olarak oluşturduğum uygulamayı ekliyorum. Aynı şekilde ‘rest_framework’ uygulamasını da ekliyorum. Django üzerinde dışarıdan üçüncü parti uygulamalar dahil edecekseniz bunu projeye bildirmek için  “settings.py” dosyasını güncellemeniz gerekir.

 

Ekledikten sonra kodumuz şöyle gözükmelidir.

"<yoastmark

Artık proje ortamımız hazır diğer işlemlere geçebiliriz.

 

Veri Tabanı Bilgilendirme ve Kullanıcı Oluşturma

Veri tabanında gerekli düzenlemelerin yapılması için terminale

python manage.py migrate

komutunu yazıyoruz. Sonrasında ise bir “superuser” yani admin oluşturmamız gerekiyor. Bunun için yeniden terminale gelip aşağıdaki komutu yazıyoruz.

python manage.py createsuperuser

Bunun sonucunda sizden kullanıcı adı, e-mail ve şifre isteyecek dilerseniz boş geçebilirsiniz.

Şimdi dilerseniz sunucumuzu ayağa kaldıralım. Bunun için terminale

python manage.py runserver

komutunu yazıyoruz. Bize şöyle bir çıktı verecek.

"<yoastmark

Tarayıcımıza gelip arama çubuğuna “127.0.0.1:8000/admin” yazıyoruz. Ve az önce oluşturduğumuz “superuser” ile sisteme giriş yapıyoruz.

 

Model Oluşturma

Şimdi ilk modelimizi yani API yapımızı oluşturacağız. Bunun için “api” klasörü altında yer alan “models.py” dosyasına geliyoruz.

Ben diller ve ülkeler için bir API oluşturacağım o yüzden ona uygun bir model oluşturuyorum. Son şekli resimdeki gibidir.

"<yoastmark

İki alanda “CharField” türündedir. Ve maximum uzunlukları 30 karakterdir.

Yeni bir model oluşturduğumuzda veya var olan bir modeli güncellediğimizde bunu Django’ya bildirmemiz gerekiyor. Bunun için terminale

python manage.py makemigrations

komutunu yazıyoruz.

Sonrasında ise bu değişiklikleri admin panelinde görebilmek için “api” klasörü altında yer alan “admin.py” dosyasının içerisine resimdeki kodları ekliyoruz.

Python Django ile Rest API Oluşturma - Models (After)
Python Django ile Rest API Oluşturma – Admin

Sonrasında ise benimle beraber aşağıdaki adımları uygulayın.

Modeli JSON Formatlı Değere Dönüştürme

API içerisinde yer alan verilerin JSON formatında görüntülenmesi için bu işlemleri yapmamız gerekiyor. Bu işlemi yapmak için “api” klasörü altında “serializers.py” isimli bir dosya oluşturuyoruz.

Bu dosyaya gelip aşağıdaki kodları yazıyoruz.

"<yoastmark

Bu kodlarla birlikte API verileri JSON değerinde gösterilmeye hazır oldu.

 

Routing İşlemleri ve Verinin Ekrana Yansıtılması

Artık yapmamız gereken veriyi ekrana yazdırmak. Bunun için gerekli routing (yönlendirme) işlemlerini yapacağız. Ancak öncelikle “api” klasörü altındaki “views.py” dosyasına aşağıdaki kodları ekliyoruz.

"<yoastmark

Bu kodlarla birlikte verilerimiz tarayıcıda görünebilir olacaktır. Ancak bunu düzgün şekilde yapmak için routingleri halletmeliyiz. Bu yüzden “api_example” klasörü altında bulunan “urls.py” dosyasına gidiyoruz. Ve şu kodları yazıyoruz.

"<yoastmark

Yukarıdaki routing işleminde öncelikle admin panelimizin adresini tanımladık. Bu sayede “127.0.0.1:8000/admin” adresine gittiğimizde ilgili admin panelini görebilmekteyiz.

Altıncı satırdaki kodla beraber “127.0.0.1:8000” adresiyle alakalı yönlendirmelerin “api” klasörü altında yer alan “urls.py” dosyasında olduğunu Django’ya bildirdik.

İlgili dosyanın olmadığını fark etmişsinizdir. Bunun için ‘api’ klasörü altında ‘urls.py’ isimli yeni bir dosya oluşturuyoruz. Bu dosyaya aşağıdaki kodları yazıyoruz.

"<yoastmark

Bu kodlar sayesinde dinamik yönlendirmelerin ‘rest_framework’ tarafından yapılmasını söylüyoruz. Şuan API hazır.  API görmek için “127.0.0.1:8000/languages” adresine gidebiliriz.

Verilerimiz şekildeki gibi gözükmelidir.

"<yoastmark

 

Admin sayfasında yer alan “Add” ile daha fazla veri ekleyebiliriz. Veya tam tersi silebiliriz.

 

Python Django ile Rest API oluşturma yazımızın sonuna geldik. İçeriğimiz hoşunuza gittiyse paylaşıp yorum yapabilirsiniz. Bir başka Python içeriğimizde görüşmek üzere.

Yorum yapın