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!
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.
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:
- Verilerinizi ve kullanıcılarınızı yönetmenize olanak tanıyan yerleşik bir yönetici arayüzü
- Python kodu kullanarak çeşitli veritabanlarıyla etkileşim kurmanıza olanak tanıyan güçlü bir ORM
- URL'leri görünümlere eşlemenize olanak tanıyan esnek bir URL dağıtıcısı
- Python kodu ve değişkenleri kullanarak dinamik HTML sayfaları oluşturmanıza olanak tanıyan bir şablon motoru
- Web formları oluşturmanıza ve doğrulamanıza olanak tanıyan bir form çerçevesi
- Otomatik testler yazmanıza ve çalıştırmanıza olanak tanıyan bir test çerçevesi
- Web uygulamanızı CSRF, XSS, SQL injection vb. gibi yaygın saldırılardan koruyan bir güvenlik çerçevesi

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:
- Kutudan çıkar çıkmaz birçok işlevsellik sağlayarak web uygulamalarını daha hızlı ve kolay geliştirin
- DRY (Don’t Repeat Yourself - Kendini Tekrarlama) ve KISS (Keep It Simple, Stupid - Basit Tut, Aptal) ilkelerini izleyerek temiz ve bakımı kolay kod yazın
- Django'nun önbelleğe alma, ara yazılım ve dağıtım özelliklerini kullanarak web uygulamanızı kolayca ölçeklendirin
- Django'nun kapsamlı belgelerini ve topluluk kaynaklarını kullanarak Python ve web geliştirme becerilerinizi öğrenin ve geliştirin
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:
- Python: Django'nun temelini oluşturan programlama dili. Python'u resmi web sitesinden indirebilir ve yükleyebilirsiniz: https://www.python.org/
- Pip: Python paketlerini yüklemenize ve yönetmenize olanak tanıyan paket yöneticisi. Pip'i resmi web sitesinden talimatları izleyerek yükleyebilirsiniz: https://pip.pypa.io/en/stable/installing/
- Virtualenv: Yalıtılmış Python ortamları oluşturmanıza ve yönetmenize olanak tanıyan araç. Terminalinizde aşağıdaki komutu çalıştırarak Virtualenv'i yükleyebilirsiniz:
pip install virtualenv
- Django: Web uygulamanızı oluşturmak için kullanacağınız web çerçevesi. Terminalinizde aşağıdaki komutu çalıştırarak Django'yu yükleyebilirsiniz:
pip install django
- Django REST framework: Django kullanarak RESTful API'ler oluşturmanıza ve test etmenize olanak tanıyan kitaplık. Terminalinizde aşağıdaki komutu çalıştırarak Django REST framework'ü yükleyebilirsiniz:
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_post_json
:settings.py
,urls.py
,wsgi.py
vb. gibi proje ayarlarını ve yapılandırma dosyalarını içeren ana klasör.manage.py
:runserver
,migrate
,test
vb. gibi projeniz için çeşitli komutlar ve görevler çalıştırmanıza olanak tanıyan komut dosyası.db.sqlite3
: Django'nun verilerinizi depolamak için kullandığı varsayılan veritabanı dosyası.

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:
migrations
: Veritabanı şemanızdaki değişiklikleri izleyen dosyaları içeren klasör__init__.py
: Klasörü bir Python paketi olarak işaretleyen dosyaadmin.py
: Modellerinizi Django yönetici arayüzüne kaydetmenize olanak tanıyan dosyaapps.py
: Uygulamanızın yapılandırmasını içeren dosyamodels.py
: Veri modellerinizi tanımlamanıza olanak tanıyan dosyatests.py
: Uygulamanız için testler yazmanıza ve çalıştırmanıza olanak tanıyan dosyaviews.py
: Uygulamanız için görünümlerinizi ve mantığınızı tanımlamanıza olanak tanıyan dosya
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.
- JSON formatındaki tüm mesajların bir listesini alın
- JSON formatında yeni bir mesaj oluşturun
- JSON formatında tek bir mesaj alın
- JSON formatında tek bir mesajı güncelleyin
- JSON formatında tek bir mesajı silin
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:
- İstek gövdesinin ham verilerine bayt olarak erişmenizi sağlayan
request.body
özelliği. Verileri bir Python sözlüğüne ayrıştırmak içinjson
modülünü kullanabilirsiniz. Örneğin, görünümünüzde aşağıdaki kodu yazabilirsiniz:
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
- JSON formatına serileştirilmiş bir yanıt döndürmenizi sağlayan
JsonResponse
sınıfı. İlk argüman olarak bir Python sözlüğü veya listesi geçirebilir ve isteğe bağlı olarakstatus
,safe
,json_dumps_params
vb. gibi diğer argümanları belirtebilirsiniz. Örneğin, görünümünüzde aşağıdaki kodu yazabilirsiniz:
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
- Django REST framework, Django kullanarak RESTful API'ler oluşturmanıza ve test etmenize olanak tanıyan üçüncü taraf bir kitaplık. Size serileştiriciler, genel görünümler, yönlendiriciler, izinler, kimlik doğrulama vb. gibi çeşitli özellikler ve araçlar sağlar. Örneğin,
serializers.py
dosyanızda aşağıdaki kodu yazabilirsiniz:
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:
- Farklı API'lerin nasıl kullanılacağını öğrenin ve özelliklerini keşfedin
- Kendi API'lerinizi test edin ve hatalarını ayıklayın ve hataları ve böcekleri bulun
- Farklı parametreler ve seçeneklerle deneyler yapın ve bunların yanıtı nasıl etkilediğini görün
- API kullanımınızı ve sonuçlarınızı belgeleyin ve gösterin
- Diğer API kullanıcıları ve geliştiricileriyle işbirliği yapın ve iletişim kurun
Apidog'u kullanarak JSON verisi gönderip alabilen Django API'nizi test etmek için şu adımları izlemeniz gerekir:
- Apidog web sitesini ziyaret edin ve ücretsiz bir hesap oluşturun. Apidog'u bir hesap olmadan da kullanabilirsiniz, ancak isteklerinizi kaydedemez ve paylaşamazsınız. Apidog'u açın ve yeni bir istek oluşturun.

- Kullanmak istediğiniz HTTP yöntemini seçin. Örneğin, mesajların listesini almak istiyorsanız, GET yöntemini seçebilirsiniz. Yeni bir mesaj oluşturmak istiyorsanız, POST yöntemini seçebilirsiniz.

- API uç noktanızın URL'sini URL giriş alanına girin. İsteğiniz için ihtiyacınız olan başlıkları, çerezleri veya parametreleri ekleyin. Örneğin, yeni bir mesaj oluşturmak istiyorsanız,
Content-Type
başlığınıapplication/json
değeriyle eklemeniz ve verileri gövde giriş alanında JSON formatında yazmanız gerekir. Örneğin, aşağıdaki verileri yazabilirsiniz:

- İsteği API'nize göndermek için Gönder düğmesine tıklayın. Apidog daha sonra API'nizden gelen yanıtı Yanıt sekmesinde görüntüleyecektir. Yanıtın diğer ayrıntılarını görmek için Başlıklar, Çerezler veya Ham sekmelerine de geçebilirsiniz.

- Apidog'un özelliklerini ve araçlarını kullanarak yanıt verilerini analiz edin ve işleyin. Yanıt verilerini görüntülemek, filtrelemek, değiştirmek veya doğrulamak için JSON Görüntüleyici, JSONPath, JavaScript, JSON Schema ve diğer özellikleri ve araçları kullanabilirsiniz. Ayrıca, isteğinizi ve yanıtınızı kaydedebilir ve benzersiz bir URL kullanarak başkalarıyla paylaşabilirsiniz.
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:
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:
- Bir Django projesi kurun ve basit bir API uygulaması oluşturun
- JSON verileri için bir model ve bir serileştirici tanımlayın
- API uç noktası için bir görünüm ve bir URL oluşturun
- API'yi, API'leri kolaylıkla test etmenizi ve hatalarını ayıklamanızı sağlayan web tabanlı bir araç olan Apidog'u kullanarak test edin
- Apidog'un özelliklerini ve araçlarını kullanarak JSON verilerini analiz edin ve işleyin
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.