Django'da POST JSON Verilerini Alma

Django REST çerçevesi ve Apidog ile JSON verisi alıp gönderebilen bir Django API'si oluşturmayı ve test etmeyi öğrenin.

Efe Demir

Efe Demir

5 June 2025

Django'da POST JSON Verilerini Alma

Django , geliştiricilerin web uygulamalarını hızlı ve kolay bir şekilde oluşturmalarına yardımcı olmak için tasarlanmış bir Python web çerçevesidir. Ücretsiz, açık kaynaklıdır ve büyük ve aktif bir geliştirici topluluğuna sahiptir.

JSON verisi gönderip alabilen bir Django API'si oluşturmayı ve test etmeyi öğrenmek ister misiniz? Evet ise, doğru yerdesiniz. Bu yazının sonunda, profesyonel gibi JSON verisi gönderip alabilen bir Django API'si oluşturabilecek ve test edebileceksiniz. Hadi başlayalım!

💡
Apidog , API'lerinizi test etmenize ve hatalarını ayıklamanıza yardımcı olan web tabanlı bir araçtır. Herhangi bir API uç noktasına HTTP istekleri göndermenize ve JSON, XML, HTML vb. gibi çeşitli formatlarda yanıt almanıza olanak tanır.

Ayrıca yanıtın başlıklarını, çerezlerini, durum kodlarını ve diğer ayrıntılarını da inceleyebilirsiniz. Apidog ayrıca JavaScript kullanarak yanıt verilerini işlemenize, JSONPath kullanarak verileri filtrelemenize ve JSON Schema kullanarak verileri doğrulamanıza olanak tanır.
button

JSON Nedir?

JSON, JavaScript Object Notation'ın kısaltmasıdır. Yapılandırılmış verileri temsil etmek için standartlaştırılmış bir formattır. Öznitelik-değer çiftlerinden ve dizilerden (veya diğer serileştirilebilir değerlerden) oluşan veri nesnelerini depolamak ve iletmek için insan tarafından okunabilir metin kullanan metin tabanlı bir formattır. JSON, sunucudan istemciye veya tam tersi gibi web uygulamalarında veri iletmek için yaygın olarak kullanılır.

JSON, altı tür veriyi yerel olarak temsil edebilir: dizeler, sayılar, boole değerleri, null, diziler ve nesneler. Örneğin, işte bir gönderinin JSON temsili:

{
  "id": 1001,
  "title": "What is JSON?",
  "author": {
    "id": 1,
    "name": "James Walker"
  },
  "tags": [
    "api",
    "json",
    "programming"
  ],
  "published": false,
  "publishedTimestamp": null
}

Bu örnek, tüm JSON veri türlerini göstermektedir. Ayrıca, API'lerde kullanımını bu kadar çekici hale getiren özelliklerden biri olan JSON formatlı verilerin özlülüğünü de göstermektedir.

POST İstek Yönteminin Temelleri

POST istek yöntemi, bir kaynak oluşturmak veya güncellemek için sunucuya veri göndermek için kullanılan bir HTTP isteği türüdür. Genellikle dosya yüklemek veya tamamlanmış web formlarını göndermek için kullanılır. Yöntem, web sunucusundan, genellikle depolama amaçlı olarak, isteğin gövdesinde yer alan verileri kabul etmesini ister.

JavaScript Object Notation'ın kısaltması olan JSON, yapılandırılmış verileri bir sunucuya iletme yeteneği nedeniyle POST isteklerinde sıklıkla kullanılır. Bu yapılandırılmış format, özellikle kaynak oluşturma veya güncelleme sırasında sunucu tarafından kolay yorumlanmasını ve işlenmesini sağlar.

JSON'un nesneleri ve verileri temsil etmek için standartlaştırılmış formatı, onu POST isteklerinde veri göndermek için popüler bir seçim haline getirir. Geliştiriciler, JSON kullanarak sunucuya gönderilen verilerin iyi organize edilmesini ve kolayca anlaşılmasını sağlayabilir, böylece kaynak oluşturma ve güncellemelerin verimliliğini artırır.

Django Nedir ve Neden Kullanmalısınız?

Django, web uygulamalarını hızlı ve kolay bir şekilde oluşturmanıza yardımcı olan bir web çerçevesidir. Python ile yazılmıştır ve Model-View-Template (MVT) desenini izler. Size aşağıdakiler gibi çeşitli özellikler ve araçlar sağlar:

Django Apidog

Django, ister yeni başlayan ister uzman olun, web uygulamaları oluşturmak isteyen herkes için harika bir çerçevedir. Size şunları yapmanızda yardımcı olur:

POST JSON Verilerini Getirmek İçin Bir Django Projesi Nasıl Kurulur

JSON verisi gönderip alabilen bir Django API'si oluşturmak ve test etmek için bir Django projesi kurmanız ve basit bir API uygulaması oluşturmanız gerekir.

Django'nun Kurulumu

Ayrıca, aşağıdakiler gibi bazı bağımlılıkları ve araçları yüklemeniz gerekir:

pip install virtualenv

pip install django

pip install djangorestframework

Bu bağımlılıkları ve araçları yükledikten sonra, terminalinizde aşağıdaki komutu çalıştırarak bir Django projesi oluşturabilirsiniz:

django-admin startproject django_post_json

Bu komut, aşağıdakiler gibi proje ayarlarını ve yapılandırma dosyalarını içeren django_post_json adlı bir klasör oluşturacaktır:

Django official website

Django API Oluşturma

Ayrıca, terminalinizde aşağıdaki komutu çalıştırarak basit bir API uygulaması oluşturabilirsiniz:

python manage.py startapp api

Bu komut, aşağıdakiler gibi dosyaları ve klasörleri içeren api adlı bir klasör oluşturacaktır:

Ayrıca, uygulamanızı projenizin settings.py dosyasındaki INSTALLED_APPS listesine eklemeniz gerekir. Bunu, listenin sonuna aşağıdaki satırı ekleyerek yapabilirsiniz:

'api.apps.ApiConfig',

Ayrıca, Django REST framework'ü INSTALLED_APPS listesine eklemeniz gerekir. Bunu, listenin sonuna aşağıdaki satırı ekleyerek yapabilirsiniz:

'rest_framework',

Artık bir Django projesi kurdunuz ve basit bir API uygulaması oluşturdunuz. Projenizi terminalinizde aşağıdaki komutu çalıştırarak çalıştırabilirsiniz:

python manage.py runserver

Bu komut, tarayıcınızdan http://127.0.0.1:8000/ adresinden erişebileceğiniz bir geliştirme sunucusu başlatacaktır. "Yükleme başarıyla tamamlandı! Tebrikler!" yazan bir sayfa görmelisiniz.

Django'da POST JSON Verilerini Getirmek İçin Bir Görünüm Nasıl Oluşturulur

JSON verisi gönderip alabilen bir Django API'si oluşturmak ve test etmek için, API uç noktası için bir görünüm ve bir URL oluşturmanız gerekir. Bir görünüm, belirli bir URL için isteği ve yanıtı işleyen bir Python işlevi veya sınıfıdır. Uygulamanızın mantığını ve davranışını tanımlar. Bir URL, bir görünüme eşlenen bir dizedir. Uygulamanızın adresini ve desenini tanımlar.

Django'nuz İçin Bir Görünüm Nasıl Oluşturulur

Bu API uç noktası için bir görünümü, uygulamanızın views.py dosyasında oluşturabilirsiniz. Bunu, dosyaya aşağıdaki kodu ekleyerek yapabilirsiniz:

from rest_framework import generics
from .models import Message
from .serializers import MessageSerializer

class MessageListCreateView(generics.ListCreateAPIView):
  queryset = Message.objects.all()
  serializer_class = MessageSerializer

class MessageRetrieveUpdateDestroyView(generics.RetrieveUpdateDestroyAPIView):
  queryset = Message.objects.all()
  serializer_class = MessageSerializer

Bu kod, Django REST framework'ün genel görünümlerinden miras alan iki görünüm oluşturacaktır. MessageListCreateView görünümü, mesaj listesi için GET ve POST isteklerini işleyecektir. MessageRetrieveUpdateDestroyView görünümü, tek bir mesaj için GET, PUT, PATCH ve DELETE isteklerini işleyecektir.

Her iki görünüm de, veri kaynağını ve veri formatını belirtmek için queryset ve serializer_class özniteliklerini kullanacaktır. Genel görünümler ve yöntemleri hakkında daha fazla bilgiyi Django REST framework belgelerinden edinebilirsiniz: https://www.django-rest-framework.org/api-guide/generic-views/

Ayrıca, bu API uç noktası için uygulamanızın urls.py dosyasında bir URL oluşturabilirsiniz. Bu dosyayı, views.py dosyanızla aynı klasörde oluşturabilirsiniz. Bunu, dosyaya aşağıdaki kodu ekleyerek yapabilirsiniz:

from django.urls import path
from .views import MessageListCreateView, MessageRetrieveUpdateDestroyView

urlpatterns = [
  path('messages/', MessageListCreateView.as_view(), name='message-list'),
  path('messages/<int:pk>/', MessageRetrieveUpdateDestroyView.as_view(), name='message-detail'),
]

Bu kod, oluşturduğunuz görünümlere eşlenen iki URL deseni oluşturacaktır. İlk desen, /messages/ URL'sini eşleştirecek ve MessageListCreateView görünümünü kullanacaktır. İkinci desen, /messages/<int:pk>/ URL'sini eşleştirecek ve MessageRetrieveUpdateDestroyView görünümünü kullanacaktır. <int:pk> kısmı, bir tamsayı değerini yakalayacak ve bunu görünüme pk argümanı olarak geçirecek bir yol dönüştürücüsüdür. Bu değer, görünümün üzerinde çalışacağı mesaj nesnesini tanımlamak için kullanılacaktır. Ayrıca, kodunuzda URL'ye başvurmak için kullanabileceğiniz benzersiz bir tanımlayıcı vermek için her desene bir name argümanı ekleyebilirsiniz.

Django'nuz İçin URL Nasıl Oluşturulur

Ayrıca, uygulamanızın URL desenlerini projenizin urls.py dosyasına dahil etmeniz gerekir. Bunu, dosyaya aşağıdaki kodu ekleyerek yapabilirsiniz:

from django.urls import path, include

urlpatterns = [
  path('api/', include('api.urls')),
]

Bu kod, /api/ URL'sini eşleştirecek ve uygulamanızın URL desenlerini içerecek bir URL deseni oluşturacaktır. Bu şekilde, uygulamanız için bir ad alanı oluşturabilir ve diğer uygulamalar veya URL'lerle herhangi bir çakışmayı önleyebilirsiniz. Ayrıca, tutarlı hale getirmek ve herhangi bir yönlendirme sorununu önlemek için URL'nin sonuna bir eğik çizgi ekleyebilirsiniz.

Artık API uç noktası için bir görünüm ve bir URL oluşturdunuz. API'nizi terminalinizde aşağıdaki komutu çalıştırarak test edebilirsiniz:

python manage.py runserver

Bu komut, tarayıcınızdan http://127.0.0.1:8000/ adresinden erişebileceğiniz bir geliştirme sunucusu başlatacaktır. Ayrıca, API'nizi kolaylıkla test etmenizi ve hatalarını ayıklamanızı sağlayan web tabanlı bir araç olan Apidog'u da kullanabilirsiniz. Bunu nasıl yapacağınızı bir sonraki bölümde göstereceğim.

Django'da POST JSON Verilerini İşleme

Django'da post JSON verilerini işlemek, RESTful API'ler oluşturmak ve test etmek isteyen web geliştiricileri için yaygın bir görevdir. Django, bu görevde size yardımcı olmak için aşağıdakiler gibi çeşitli özellikler ve araçlar sağlar:

import json
from django.http import JsonResponse

def my_view(request):
  if request.method == 'POST':
    data = json.loads(request.body) # JSON verilerini bir sözlüğe ayrıştırın
    # verilerle bir şeyler yapın
    return JsonResponse(data) # verileri bir JSON yanıtı olarak döndürün
from django.http import JsonResponse

def my_view(request):
  if request.method == 'GET':
    data = {'name': 'Alice', 'email': 'alice@example.com'} # bir sözlük oluşturun
    return JsonResponse(data, status=200, safe=True) # sözlüğü bir JSON yanıtı olarak döndürün
from rest_framework import serializers
from .models import Message

class MessageSerializer(serializers.ModelSerializer):
  class Meta:
    model = Message
    fields = ['name', 'email', 'message']

Bu kod, Message modelinizi JSON formatına ve tam tersine dönüştüren bir serileştirici oluşturacaktır. Django REST framework ve özellikleri ve araçları hakkında daha fazla bilgiyi bu makaleden edinebilirsiniz:

Bunlar, Django'da post JSON verilerini işlemenin bazı gelişmiş teknikleridir. Bunları, JSON verisi gönderip alabilen kendi Django API'lerinizi oluşturmak ve test etmek için kullanabilirsiniz.

Apidog ile Django POST JSON Verilerini Getirin

Apidog, ister geliştirici, ister test uzmanı, ister tasarımcı veya öğrenci olun, API'lerle çalışan herkes için harika bir araçtır. Size şunları yapmanızda yardımcı olur:

Apidog'u kullanarak JSON verisi gönderip alabilen Django API'nizi test etmek için şu adımları izlemeniz gerekir:

Create a New Request
POST Request
JSON Data
Send the Request

Artık Apidog'u kullanarak JSON verisi gönderip alabilen Django API'nizi test ettiniz. Aynı adımları kullanarak diğer API uç noktalarını ve yöntemlerini de test edebilirsiniz. Ayrıca, çevrimiçi bulduğunuz veya kendiniz oluşturduğunuz diğer API'leri test etmek için Apidog'u kullanabilirsiniz. Apidog, herhangi bir API ile ilgili görevde size yardımcı olabilecek çok yönlü ve güçlü bir araçtır. Apidog ve özellikleri ve araçları hakkında daha fazla bilgiyi resmi web sitesinden edinebilirsiniz:

button

Sonuç

Bu blog yazısında, JSON verisi gönderip alabilen bir Django API'si oluşturmayı ve test etmeyi gösterdim. Şunları nasıl yapacağınızı öğrendiniz:

Umarım bu blog yazısını ilham verici ve faydalı bulmuşsunuzdur. Bu blog yazısından edindiğiniz becerileri ve bilgileri, JSON verisi gönderip alabilen kendi Django API'lerinizi oluşturmak ve test etmek için kullanabilirsiniz.

Ayrıca, karşılaştığınız veya oluşturduğunuz diğer API'leri test etmek ve hatalarını ayıklamak için Apidog'u kullanabilirsiniz. Apidog, API geliştirme ve testinizi daha kolay ve daha hızlı hale getirebilecek kullanışlı ve yardımcı bir araçtır.

Explore more

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Yerel DeepSeek R1'i Cursor IDE ile kurun ve yapılandırın. Özel, uygun maliyetli AI kodlama yardımı için.

4 June 2025

Android'de Gemma 3n Nasıl Çalıştırılır?

Android'de Gemma 3n Nasıl Çalıştırılır?

Google AI Edge Gallery'den Gemma 3n'i Android'e kurup çalıştırmayı öğrenin.

3 June 2025

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

Claude Code'u GitHub Actions ile entegre edin: Kod incelemeleri, hata düzeltmeleri ve özellik uygulamaları. Kurulum, iş akışları ve geliştiriciler için ipuçları.

29 May 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin