Files
fastapi/docs/tr/docs/tutorial/request-forms.md
Sebastián Ramírez c9629e0eb2 🌐 Update translations for tr (update-outdated) (#14745)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-31 18:32:27 +00:00

3.0 KiB
Raw Blame History

Form Verisi

JSON yerine form alanlarını almanız gerektiğinde Form kullanabilirsiniz.

/// info | Bilgi

Formları kullanmak için önce python-multipart paketini kurun.

Bir virtual environment{.internal-link target=_blank} oluşturduğunuzdan, onu etkinleştirdiğinizden emin olun ve ardından örneğin şöyle kurun:

$ pip install python-multipart

///

Form'u Import Edin

Form'u fastapi'den import edin:

{* ../../docs_src/request_forms/tutorial001_an_py39.py hl[3] *}

Form Parametrelerini Tanımlayın

Form parametrelerini Body veya Query için yaptığınız gibi oluşturun:

{* ../../docs_src/request_forms/tutorial001_an_py39.py hl[9] *}

Örneğin OAuth2 spesifikasyonunun kullanılabileceği ("password flow" olarak adlandırılan) yollardan birinde, form alanları olarak bir username ve password göndermek zorunludur.

spec, alanların adının tam olarak username ve password olmasını ve JSON değil form alanları olarak gönderilmesini gerektirir.

Form ile Body (ve Query, Path, Cookie) ile yaptığınız aynı konfigürasyonları tanımlayabilirsiniz; validasyon, örnekler, alias (örn. username yerine user-name) vb. dahil.

/// info | Bilgi

Form, doğrudan Body'den miras alan bir sınıftır.

///

/// tip | İpucu

Form gövdelerini tanımlamak için Form'u açıkça kullanmanız gerekir; çünkü bunu yapmazsanız parametreler query parametreleri veya body (JSON) parametreleri olarak yorumlanır.

///

"Form Alanları" Hakkında

HTML formlarının (<form></form>) verileri sunucuya gönderme şekli normalde bu veri için JSON'dan farklı "özel" bir encoding kullanır.

FastAPI bu veriyi JSON yerine doğru yerden okuyacaktır.

/// note | Teknik Detaylar

Formlardan gelen veri normalde "media type" application/x-www-form-urlencoded kullanılarak encode edilir.

Ancak form dosyalar içerdiğinde multipart/form-data olarak encode edilir. Dosyaları ele almayı bir sonraki bölümde okuyacaksınız.

Bu encoding'ler ve form alanları hakkında daha fazla okumak isterseniz, MDN web docs for POST sayfasına gidin.

///

/// warning | Uyarı

Bir path operation içinde birden fazla Form parametresi tanımlayabilirsiniz, ancak JSON olarak almayı beklediğiniz Body alanlarını da ayrıca tanımlayamazsınız; çünkü bu durumda request'in body'si application/json yerine application/x-www-form-urlencoded ile encode edilmiş olur.

Bu FastAPI'ın bir kısıtlaması değildir, HTTP protokolünün bir parçasıdır.

///

Özet

Form verisi girdi parametrelerini tanımlamak için Form kullanın.