Browse Source

🌐 Update translations for tr (update-outdated) (#15754)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
pull/15772/head
Sebastián Ramírez 2 days ago
committed by GitHub
parent
commit
43520809e9
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 4
      docs/tr/docs/advanced/additional-responses.md
  2. 2
      docs/tr/docs/advanced/advanced-dependencies.md
  3. 4
      docs/tr/docs/advanced/custom-response.md
  4. 2
      docs/tr/docs/advanced/dataclasses.md
  5. 4
      docs/tr/docs/advanced/events.md
  6. 1
      docs/tr/docs/advanced/generate-clients.md
  7. 2
      docs/tr/docs/advanced/openapi-callbacks.md
  8. 4
      docs/tr/docs/advanced/openapi-webhooks.md
  9. 12
      docs/tr/docs/advanced/path-operation-advanced-configuration.md
  10. 2
      docs/tr/docs/advanced/response-directly.md
  11. 4
      docs/tr/docs/advanced/security/oauth2-scopes.md
  12. 4
      docs/tr/docs/advanced/stream-data.md
  13. 2
      docs/tr/docs/advanced/strict-content-type.md
  14. 2
      docs/tr/docs/advanced/websockets.md
  15. 4
      docs/tr/docs/advanced/wsgi.md
  16. 4
      docs/tr/docs/deployment/docker.md
  17. 30
      docs/tr/docs/deployment/fastapicloud.md
  18. 1
      docs/tr/docs/deployment/manually.md
  19. 2
      docs/tr/docs/deployment/server-workers.md
  20. 12
      docs/tr/docs/how-to/extending-openapi.md
  21. 2
      docs/tr/docs/how-to/separate-openapi-schemas.md
  22. 6
      docs/tr/docs/index.md
  23. 40
      docs/tr/docs/tutorial/bigger-applications.md
  24. 4
      docs/tr/docs/tutorial/body-multiple-params.md
  25. 4
      docs/tr/docs/tutorial/body-nested-models.md
  26. 2
      docs/tr/docs/tutorial/body.md
  27. 4
      docs/tr/docs/tutorial/cookie-param-models.md
  28. 4
      docs/tr/docs/tutorial/cookie-params.md
  29. 2
      docs/tr/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
  30. 4
      docs/tr/docs/tutorial/dependencies/dependencies-with-yield.md
  31. 4
      docs/tr/docs/tutorial/dependencies/index.md
  32. 2
      docs/tr/docs/tutorial/dependencies/sub-dependencies.md
  33. 34
      docs/tr/docs/tutorial/first-steps.md
  34. 4
      docs/tr/docs/tutorial/metadata.md
  35. 6
      docs/tr/docs/tutorial/path-operation-configuration.md
  36. 6
      docs/tr/docs/tutorial/path-params-numeric-validations.md
  37. 8
      docs/tr/docs/tutorial/path-params.md
  38. 6
      docs/tr/docs/tutorial/query-params-str-validations.md
  39. 2
      docs/tr/docs/tutorial/query-params.md
  40. 6
      docs/tr/docs/tutorial/request-files.md
  41. 4
      docs/tr/docs/tutorial/request-form-models.md
  42. 2
      docs/tr/docs/tutorial/request-forms-and-files.md
  43. 8
      docs/tr/docs/tutorial/request-forms.md
  44. 6
      docs/tr/docs/tutorial/response-model.md
  45. 2
      docs/tr/docs/tutorial/response-status-code.md
  46. 6
      docs/tr/docs/tutorial/schema-extra-example.md
  47. 14
      docs/tr/docs/tutorial/security/first-steps.md
  48. 2
      docs/tr/docs/tutorial/security/get-current-user.md
  49. 6
      docs/tr/docs/tutorial/security/oauth2-jwt.md
  50. 8
      docs/tr/docs/tutorial/security/simple-oauth2.md
  51. 2
      docs/tr/docs/tutorial/server-sent-events.md
  52. 4
      docs/tr/docs/tutorial/stream-json-lines.md
  53. 4
      docs/tr/docs/tutorial/testing.md

4
docs/tr/docs/advanced/additional-responses.md

@ -34,7 +34,7 @@ Bu response `dict`'lerinin her birinde, `response_model`'e benzer şekilde bir P
///
/// info | Bilgi
/// note | Not
`model` anahtarı OpenAPI'nin bir parçası değildir.
@ -183,7 +183,7 @@ Görseli `FileResponse` kullanarak doğrudan döndürmeniz gerektiğine dikkat e
///
/// info | Bilgi
/// note | Not
`responses` parametrenizde açıkça farklı bir media type belirtmediğiniz sürece FastAPI, response'un ana response class'ı ile aynı media type'a sahip olduğunu varsayar (varsayılan `application/json`).

2
docs/tr/docs/advanced/advanced-dependencies.md

@ -98,7 +98,7 @@ Bu değişiklik aynı zamanda şunu da ifade ediyordu: `StreamingResponse` dönd
Bu davranış 0.118.0'da geri alındı ve `yield` sonrasındaki çıkış kodunun, response gönderildikten sonra çalıştırılması sağlandı.
/// info | Bilgi
/// note | Not
Aşağıda göreceğiniz gibi, bu davranış 0.106.0 sürümünden önceki davranışa oldukça benzer; ancak köşe durumlar için çeşitli iyileştirmeler ve bug fix'ler içerir.

4
docs/tr/docs/advanced/custom-response.md

@ -41,7 +41,7 @@ Kısaca, en yüksek performansı istiyorsanız bir [Response Model](../tutorial/
{* ../../docs_src/custom_response/tutorial002_py310.py hl[2,7] *}
/// info | Bilgi
/// note | Not
`response_class` parametresi, response’un "media type"’ını tanımlamak için de kullanılır.
@ -65,7 +65,7 @@ Yukarıdaki örneğin aynısı, bu sefer bir `HTMLResponse` döndürerek, şöyl
///
/// info | Bilgi
/// note | Not
Elbette gerçek `Content-Type` header’ı, status code vb. değerler, döndürdüğünüz `Response` objesinden gelir.

2
docs/tr/docs/advanced/dataclasses.md

@ -18,7 +18,7 @@ Ve elbette aynı özellikleri destekler:
Bu, Pydantic model'lerinde olduğu gibi çalışır. Aslında arka planda da aynı şekilde, Pydantic kullanılarak yapılır.
/// info | Bilgi
/// note | Not
Dataclass'ların, Pydantic model'lerinin yapabildiği her şeyi yapamadığını unutmayın.

4
docs/tr/docs/advanced/events.md

@ -120,7 +120,7 @@ Uygulama kapanırken çalıştırılacak bir fonksiyon eklemek için, `"shutdown
Burada `shutdown` event handler fonksiyonu, `log.txt` dosyasına `"Application shutdown"` satırını yazar.
/// info | Bilgi
/// note | Not
`open()` fonksiyonunda `mode="a"` "append" anlamına gelir; yani satır, önceki içeriği silmeden dosyada ne varsa onun sonuna eklenir.
@ -152,7 +152,7 @@ Meraklı nerd’ler için küçük bir teknik detay. 🤓
Altta, ASGI teknik spesifikasyonunda bu, [Lifespan Protokolü](https://asgi.readthedocs.io/en/latest/specs/lifespan.html)’nün bir parçasıdır ve `startup` ile `shutdown` adında event’ler tanımlar.
/// info | Bilgi
/// note | Not
Starlette `lifespan` handler’ları hakkında daha fazlasını [Starlette Lifespan dokümanları](https://www.starlette.dev/lifespan/) içinde okuyabilirsiniz.

1
docs/tr/docs/advanced/generate-clients.md

@ -31,7 +31,6 @@ Sponsor olmaları aynı zamanda FastAPI **topluluğuna** (size) güçlü bir ba
Örneğin şunları deneyebilirsiniz:
* [Stainless](https://www.stainless.com/?utm_source=fastapi&utm_medium=referral)
* [liblab](https://developers.liblab.com/tutorials/sdk-for-fastapi?utm_source=fastapi)
Bu çözümlerin bazıları açık kaynak olabilir veya ücretsiz katman sunabilir; yani finansal bir taahhüt olmadan deneyebilirsiniz. Başka ticari SDK üreteçleri de vardır ve internette bulunabilir. 🤓

2
docs/tr/docs/advanced/openapi-callbacks.md

@ -173,7 +173,7 @@ Bu noktada, yukarıda oluşturduğunuz callback router'ında gerekli callback *p
/// tip | İpucu
`callback=` içine router'ın kendisini (`invoices_callback_router`) değil, `invoices_callback_router.routes` şeklinde `.routes` attribute'unu verdiğinize dikkat edin.
`callback=` içine router'ın kendisini (`invoices_callback_router`) değil, `invoices_callback_router.routes` şeklinde `.routes` attribute'unu verdiğinize dikkat edin. FastAPI bu route'ları callback OpenAPI dokümantasyonunu üretmek için kullanacaktır.
///

4
docs/tr/docs/advanced/openapi-webhooks.md

@ -22,7 +22,7 @@ Webhook'lar için URL'lerin nasıl kaydedileceğine dair tüm **mantık** ve bu
Bu, kullanıcılarınızın **webhook** request'lerinizi alacak şekilde **API'lerini implement etmesini** çok daha kolaylaştırabilir; hatta kendi API kodlarının bir kısmını otomatik üretebilirler.
/// info | Bilgi
/// note | Not
Webhook'lar OpenAPI 3.1.0 ve üzeri sürümlerde mevcuttur; FastAPI `0.99.0` ve üzeri tarafından desteklenir.
@ -36,7 +36,7 @@ Bir **FastAPI** uygulaması oluşturduğunuzda, *webhook*'ları tanımlamak içi
Tanımladığınız webhook'lar **OpenAPI** şemasında ve otomatik **docs UI**'da yer alır.
/// info | Bilgi
/// note | Not
`app.webhooks` nesnesi aslında sadece bir `APIRouter`'dır; uygulamanızı birden fazla dosya ile yapılandırırken kullanacağınız türün aynısıdır.

12
docs/tr/docs/advanced/path-operation-advanced-configuration.md

@ -16,17 +16,11 @@ Bunun her operation için benzersiz olduğundan emin olmanız gerekir.
### operationId olarak *path operation function* adını kullanma { #using-the-path-operation-function-name-as-the-operationid }
API’lerinizin function adlarını `operationId` olarak kullanmak istiyorsanız, hepsini dolaşıp her *path operation*’ın `operation_id` değerini `APIRoute.name` ile override edebilirsiniz.
API’lerinizin function adlarını `operationId` olarak kullanmak istiyorsanız, `FastAPI`'ye özel bir `generate_unique_id_function` geçebilirsiniz.
Bunu, tüm *path operation*’ları ekledikten sonra yapmalısınız.
Bu function her bir `APIRoute`'u alır ve ilgili *path operation* için kullanılacak `operationId`'yi döndürür.
{* ../../docs_src/path_operation_advanced_configuration/tutorial002_py310.py hl[2, 12:21, 24] *}
/// tip | İpucu
`app.openapi()` fonksiyonunu manuel olarak çağırıyorsanız, bunu yapmadan önce `operationId`’leri güncellemelisiniz.
///
{* ../../docs_src/path_operation_advanced_configuration/tutorial002_py310.py hl[2,5:6,9] *}
/// warning | Uyarı

2
docs/tr/docs/advanced/response-directly.md

@ -18,7 +18,7 @@ Ayrıca doğrudan bir `JSONResponse` oluşturup döndürebilirsiniz.
Aslında herhangi bir `Response` veya onun herhangi bir alt sınıfını döndürebilirsiniz.
/// info | Bilgi
/// note | Not
`JSONResponse` zaten `Response`'un bir alt sınıfıdır.

4
docs/tr/docs/advanced/security/oauth2-scopes.md

@ -46,7 +46,7 @@ Genellikle belirli güvenlik izinlerini tanımlamak için kullanılır, örneği
* `instagram_basic` Facebook / Instagram tarafından kullanılır.
* `https://www.googleapis.com/auth/drive` Google tarafından kullanılır.
/// info | Bilgi
/// note | Not
OAuth2'de "scope", gereken belirli bir izni bildiren bir string'den ibarettir.
@ -126,7 +126,7 @@ Burada, **FastAPI**'nin farklı seviyelerde tanımlanan scope'ları nasıl ele a
{* ../../docs_src/security/tutorial005_an_py310.py hl[5,141,172] *}
/// info | Teknik Detaylar
/// note | Teknik Detaylar
`Security` aslında `Depends`'in bir alt sınıfıdır ve sadece birazdan göreceğimiz bir ek parametreye sahiptir.

4
docs/tr/docs/advanced/stream-data.md

@ -4,7 +4,7 @@ Veriyi JSON olarak yapılandırabiliyorsanız, [JSON Lines Akışı](../tutorial
Ancak saf ikili (binary) veri ya da string akıtmak istiyorsanız, bunu şöyle yapabilirsiniz.
/// info | Bilgi
/// note | Not
FastAPI 0.134.0 ile eklendi.
@ -90,7 +90,7 @@ Bu özel örnekte o kadar da önemli değil, çünkü sahte ve bellekte (yani `i
Ve birçok durumda, diskte ya da ağda okundukları için, okumak engelleyici (event loop'u bloke edebilen) bir işlem olabilir.
/// info | Bilgi
/// note | Not
Yukarıdaki örnek aslında bir istisna; çünkü `io.BytesIO` nesnesi zaten bellekte, dolayısıyla onu okumak hiçbir şeyi bloke etmez.

2
docs/tr/docs/advanced/strict-content-type.md

@ -81,7 +81,7 @@ Content-Type header’ı göndermeyen client’ları desteklemeniz gerekiyorsa,
Bu ayarla, Content-Type header’ı olmayan request’lerin body’si JSON olarak parse edilir. Bu, FastAPI’nin eski sürümlerindeki davranışla aynıdır.
/// info | Bilgi
/// note | Not
Bu davranış ve yapılandırma FastAPI 0.132.0’da eklendi.

2
docs/tr/docs/advanced/websockets.md

@ -111,7 +111,7 @@ Diğer FastAPI endpoint'leri/*path operations* ile aynı şekilde çalışırlar
{* ../../docs_src/websockets_/tutorial002_an_py310.py hl[68:69,82] *}
/// info
/// note
Bu bir WebSocket olduğu için `HTTPException` raise etmek pek anlamlı değildir; bunun yerine `WebSocketException` raise ederiz.

4
docs/tr/docs/advanced/wsgi.md

@ -6,7 +6,7 @@ Bunun için `WSGIMiddleware`'ı kullanabilir ve bunu WSGI uygulamanızı (örne
## `WSGIMiddleware` Kullanımı { #using-wsgimiddleware }
/// info
/// note | Not
Bunun için `a2wsgi` kurulmalıdır; örneğin `pip install a2wsgi` ile.
@ -20,7 +20,7 @@ Ve sonra bunu bir path'in altına mount edin.
{* ../../docs_src/wsgi/tutorial001_py310.py hl[1,3,23] *}
/// note
/// note | Not
Önceden, `fastapi.middleware.wsgi` içindeki `WSGIMiddleware`'ın kullanılması öneriliyordu, ancak artık kullanımdan kaldırıldı.

4
docs/tr/docs/deployment/docker.md

@ -132,7 +132,7 @@ Successfully installed fastapi pydantic
</div>
/// info | Bilgi
/// note | Not
Paket bağımlılıklarını tanımlamak ve yüklemek için başka formatlar ve araçlar da vardır.
@ -556,7 +556,7 @@ Container kullanıyorsanız (örn. Docker, Kubernetes), temelde iki yaklaşım v
**Birden fazla container**'ınız varsa ve muhtemelen her biri **tek process** çalıştırıyorsa (ör. bir **Kubernetes** cluster'ında), replication yapılan worker container'lar çalışmadan **önce**, **başlatmadan önceki adımlar**ın işini yapan **ayrı bir container** kullanmak isteyebilirsiniz (tek container, tek process).
/// info | Bilgi
/// note | Not
Kubernetes kullanıyorsanız, bu muhtemelen bir [Init Container](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) olur.

30
docs/tr/docs/deployment/fastapicloud.md

@ -1,26 +1,6 @@
# FastAPI Cloud { #fastapi-cloud }
FastAPI uygulamanızı [FastAPI Cloud](https://fastapicloud.com)'a **tek bir komutla** deploy edebilirsiniz. Henüz yapmadıysanız gidip bekleme listesine katılın. 🚀
## Giriş Yapma { #login }
Önceden bir **FastAPI Cloud** hesabınız olduğundan emin olun (sizi bekleme listesinden davet ettik 😉).
Ardından giriş yapın:
<div class="termy">
```console
$ fastapi login
You are logged in to FastAPI Cloud 🚀
```
</div>
## Deploy { #deploy }
Şimdi uygulamanızı **tek bir komutla** deploy edin:
FastAPI uygulamanızı [FastAPI Cloud](https://fastapicloud.com)'a yalnızca **tek bir komutla** deploy edebilirsiniz. 🚀
<div class="termy">
@ -36,20 +16,22 @@ Deploying to FastAPI Cloud...
</div>
CLI, FastAPI uygulamanızı otomatik olarak algılar ve buluta deploy eder. Giriş yapmadıysanız, kimlik doğrulamasını tamamlamak için tarayıcınız açılır.
Hepsi bu! Artık uygulamanıza o URL üzerinden erişebilirsiniz. ✨
## FastAPI Cloud Hakkında { #about-fastapi-cloud }
**[FastAPI Cloud](https://fastapicloud.com)**, **FastAPI**'nin arkasındaki aynı yazar ve ekip tarafından geliştirilmiştir.
Bir API'yi minimum eforla **geliştirme**, **deploy etme** ve **erişilebilir kılma** sürecini sadeleştirir.
Bir API'yi minimum eforla **geliştirme**, **deploy etme** ve **erişim** süreçlerini sadeleştirir.
FastAPI ile uygulama geliştirirken elde ettiğiniz aynı **developer experience**'ı, onları buluta **deploy etmeye** de taşır. 🎉
Ayrıca bir uygulamayı deploy ederken ihtiyaç duyacağınız pek çok şeyi de sizin için halleder; örneğin:
* HTTPS
* Replication (çoğaltma), request'lere göre autoscaling ile
* Replication, request'lere göre autoscaling ile
* vb.
FastAPI Cloud, *FastAPI and friends* açık kaynak projelerinin birincil sponsoru ve finansman sağlayıcısıdır. ✨
@ -62,4 +44,4 @@ FastAPI uygulamalarını deploy etmek için cloud sağlayıcınızın kendi kıl
## Kendi server'ınıza deploy etme { #deploy-your-own-server }
Bu **Deployment** kılavuzunun ilerleyen bölümlerinde tüm detayları da ele alacağız; böylece neler olduğunu, nelerin gerçekleşmesi gerektiğini ve FastAPI uygulamalarını kendi başınıza (kendi server'larınızla da) nasıl deploy edebileceğinizi anlayacaksınız. 🤓
Bu **Deployment** kılavuzunun ilerleyen bölümlerinde size tüm detayları da öğreteceğim; böylece neler olduğunu, nelerin gerçekleşmesi gerektiğini ve FastAPI uygulamalarını kendi başınıza, kendi server'larınızla da nasıl deploy edebileceğinizi anlayacaksınız. 🤓

1
docs/tr/docs/deployment/manually.md

@ -56,7 +56,6 @@ Buna alternatif birkaç seçenek daha vardır, örneğin:
* [Hypercorn](https://hypercorn.readthedocs.io/): diğer özelliklerin yanında HTTP/2 ve Trio ile uyumlu bir ASGI server.
* [Daphne](https://github.com/django/daphne): Django Channels için geliştirilmiş ASGI server.
* [Granian](https://github.com/emmett-framework/granian): Python uygulamaları için bir Rust HTTP server.
* [NGINX Unit](https://unit.nginx.org/howto/fastapi/): NGINX Unit, hafif ve çok yönlü bir web uygulaması runtime'ıdır.
## Sunucu Makinesi ve Sunucu Programı { #server-machine-and-server-program }

2
docs/tr/docs/deployment/server-workers.md

@ -17,7 +17,7 @@ Uygulamaları deploy ederken, çok çekirdekten (multiple cores) faydalanmak ve
Burada, `fastapi` komutunu kullanarak ya da `uvicorn` komutunu doğrudan çalıştırarak worker process'lerle Uvicorn'u nasıl kullanacağınızı göstereceğim.
/// info | Bilgi
/// note | Not
Container kullanıyorsanız (örneğin Docker veya Kubernetes ile), bununla ilgili daha fazlasını bir sonraki bölümde anlatacağım: [Container'larda FastAPI - Docker](docker.md).

12
docs/tr/docs/how-to/extending-openapi.md

@ -25,9 +25,17 @@ Ve `get_openapi()` fonksiyonu şu parametreleri alır:
* `openapi_version`: Kullanılan OpenAPI specification sürümü. Varsayılan olarak en günceli: `3.1.0`.
* `summary`: API'nin kısa özeti.
* `description`: API'nizin açıklaması; markdown içerebilir ve dokümanlarda gösterilir.
* `routes`: route'ların listesi; bunların her biri kayıtlı *path operations*'lardır. `app.routes` içinden alınırlar.
* `routes`: Uygulamadan gelen route'lar; `app.routes` içinden alınır. FastAPI, kayıtlı *path operations*'ları toplamak için bunları kullanır; eklenen router'lardan gelenler de dahildir.
/// info | Bilgi
/// tip | Teknik Detaylar
`app.routes` daha alt seviyede bir route ağacıdır. Yalnızca son `APIRoute` objelerini değil, FastAPI'nin dahili olarak eklenen router'lar için kullandığı aday route'ları da içerebilir.
Yine de `app.routes`'i `get_openapi()`'ye geçebilirsiniz. FastAPI, etkili path operation'ları toplamak için bu route ağacını gezecektir.
///
/// note | Bilgi
`summary` parametresi OpenAPI 3.1.0 ve üzeri sürümlerde vardır; FastAPI 0.99.0 ve üzeri tarafından desteklenmektedir.

2
docs/tr/docs/how-to/separate-openapi-schemas.md

@ -85,7 +85,7 @@ Bunun muhtemelen en yaygın nedeni, halihazırda autogenerated client kodların
Bu durumda **FastAPI**'de bu özelliği `separate_input_output_schemas=False` parametresiyle kapatabilirsiniz.
/// info | Bilgi
/// note | Not
`separate_input_output_schemas` desteği FastAPI `0.102.0` sürümünde eklendi. 🤓

6
docs/tr/docs/index.md

@ -492,9 +492,7 @@ Daha fazla özellik içeren daha kapsamlı bir örnek için <a href="https://fas
### Uygulamanızı deploy edin (opsiyonel) { #deploy-your-app-optional }
İsterseniz FastAPI uygulamanızı [FastAPI Cloud](https://fastapicloud.com)'a deploy edebilirsiniz; eğer henüz yapmadıysanız gidip bekleme listesine katılın. 🚀
Zaten bir **FastAPI Cloud** hesabınız varsa (bekleme listesinden sizi davet ettiysek 😉), uygulamanızı tek bir komutla deploy edebilirsiniz.
FastAPI uygulamanızı tek bir komutla [FastAPI Cloud](https://fastapicloud.com)'a deploy edebilirsiniz. 🚀
<div class="termy">
@ -510,6 +508,8 @@ Deploying to FastAPI Cloud...
</div>
CLI, FastAPI uygulamanızı otomatik olarak algılar ve cloud'a deploy eder. Giriş yapmadıysanız, kimlik doğrulama sürecini tamamlamak için tarayıcınız açılır.
Hepsi bu! Artık uygulamanıza bu URL'den erişebilirsiniz. ✨
#### FastAPI Cloud hakkında { #about-fastapi-cloud }

40
docs/tr/docs/tutorial/bigger-applications.md

@ -44,7 +44,7 @@ from app.routers import items
///
* `app` dizini her şeyi içerir. Ayrıca boş bir `app/__init__.py` dosyası olduğu için bir "Python package" (bir "Python module" koleksiyonu) olur: `app`.
* İçinde bir `app/main.py` dosyası vardır. Bir Python package'in (içinde `__init__.py` dosyası olan bir dizinin) içinde olduğundan, o package'in bir "module"’üdür: `app.main`.
* İçinde bir `app/main.py` dosyası vardır. Bir Python packagein (içinde `__init__.py` dosyası olan bir dizinin) içinde olduğundan, o packagein bir "module"’üdür: `app.main`.
* Benzer şekilde `app/dependencies.py` dosyası da bir "module"’dür: `app.dependencies`.
* `app/routers/` adında bir alt dizin vardır ve içinde başka bir `__init__.py` dosyası bulunur; dolayısıyla bu bir "Python subpackage"’dir: `app.routers`.
* `app/routers/items.py` dosyası `app/routers/` package’i içinde olduğundan bir submodule’dür: `app.routers.items`.
@ -77,7 +77,7 @@ Diyelim ki sadece kullanıcıları yönetmeye ayrılmış dosyanız `/app/router
Kullanıcılarla ilgili *path operation*’ları, kodun geri kalanından ayrı tutmak istiyorsunuz; böylece düzenli kalır.
Ancak bu hâlâ aynı **FastAPI** uygulaması/web API’sinin bir parçasıdır (aynı "Python Package" içinde).
Namun bu hâlâ aynı **FastAPI** uygulaması/web API’sinin bir parçasıdır (aynı "Python Package" içinde).
Bu module için *path operation*’ları `APIRouter` kullanarak oluşturabilirsiniz.
@ -123,7 +123,7 @@ Bu yüzden onları ayrı bir `dependencies` module’üne koyuyoruz (`app/depend
Örneği basit tutmak için uydurma bir header kullanıyoruz.
Ancak gerçek senaryolarda, entegre [Security yardımcı araçlarını](security/index.md) kullanarak daha iyi sonuç alırsınız.
Namun gerçek senaryolarda, entegre [Security yardımcı araçlarını](security/index.md) kullanarak daha iyi sonuç alırsınız.
///
@ -230,7 +230,7 @@ from .dependencies import get_token_header
* `dependencies` module’ünü bul (`app/routers/dependencies.py` gibi hayali bir dosya)...
* ve oradan `get_token_header` function’ını import et.
Ama o dosya yok; bizim dependency’lerimiz `app/dependencies.py` dosyasında.
Namun o dosya yok; bizim dependency’lerimiz `app/dependencies.py` dosyasında.
Uygulama/dosya yapımızın nasıl göründüğünü hatırlayın:
@ -396,17 +396,17 @@ Böylece o router içindeki tüm route’lar uygulamanın bir parçası olarak d
/// note | Teknik Detaylar
Aslında içeride, `APIRouter` içinde tanımlanan her *path operation* için bir *path operation* oluşturur.
Router ana uygulamaya dahil edildiğinde FastAPI, orijinal `APIRouter`’ı ve içindeki `APIRoute`’ları etkin tutar.
Yani perde arkasında, her şey tek bir uygulamaymış gibi çalışır.
Bu da, özel (custom) `APIRouter` ve `APIRoute` alt sınıflarının, router dahil edildikten sonra da işleyişe katılabileceği anlamına gelir.
///
/// tip | İpucu
Router’ları dahil ederken performans konusunda endişelenmeniz gerekmez.
Router’ları dahil ederken performans konusunda endişelenmeyin.
Bu işlem mikrosaniyeler sürer ve sadece startup sırasında olur.
Bu mekanizma hafif olacak ve her request'e ek yük bindirmeyecek şekilde tasarlanmıştır.
Dolayısıyla performansı etkilemez. ⚡
@ -437,7 +437,7 @@ Sonuç olarak, uygulamamızda `admin` module’ündeki her bir *path operation*
* `get_token_header` dependency’si.
* `418` response’u. 🍵
Ancak bu sadece bizim uygulamamızdaki o `APIRouter` için geçerlidir; onu kullanan diğer kodlar için değil.
Namun bu sadece bizim uygulamamızdaki o `APIRouter` için geçerlidir; onu kullanan diğer kodlar için değil.
Dolayısıyla örneğin diğer projeler aynı `APIRouter`’ı farklı bir authentication yöntemiyle kullanabilir.
@ -453,15 +453,15 @@ ve `app.include_router()` ile eklenen diğer tüm *path operation*’larla birli
/// note | Çok Teknik Detaylar
**Not**: Bu oldukça teknik bir detay; büyük ihtimalle **direkt geçebilirsiniz**.
Not: Bu, muhtemelen doğrudan atlayabileceğiniz oldukça teknik bir detaydır.
---
`APIRouter`’lar "mount" edilmez; uygulamanın geri kalanından izole değildir.
Çünkü *path operation*’larını OpenAPI şemasına ve kullanıcı arayüzlerine dahil etmek istiyoruz.
Bunun nedeni, onların *path operation*’larını OpenAPI şemasına ve kullanıcı arayüzlerine dahil etmek istememizdir.
Onları tamamen izole edip bağımsız şekilde "mount" edemediğimiz için, *path operation*’lar doğrudan eklenmek yerine "klonlanır" (yeniden oluşturulur).
FastAPI, orijinal router’ları ve *path operation*’ları etkin tutar; istekleri işlerken ve OpenAPI üretirken router prefix’lerini, dependency’leri, tag’leri, responses’ları ve diğer metaverileri birleştirir.
///
@ -490,7 +490,7 @@ Komuta dosya yolunu da verebilirsiniz, örneğin:
$ fastapi dev app/main.py
```
Ama o zaman her `fastapi` komutunu çalıştırdığınızda doğru yolu hatırlayıp geçirmeniz gerekir.
Namun o zaman her `fastapi` komutunu çalıştırdığınızda doğru yolu hatırlayıp geçirmeniz gerekir.
Ayrıca, diğer araçlar uygulamayı bulamayabilir; örneğin [VS Code Eklentisi](../editor-support.md) veya [FastAPI Cloud](https://fastapicloud.com). Bu yüzden `pyproject.toml` içinde `entrypoint` kullanmanız önerilir.
@ -532,4 +532,16 @@ Bir `APIRouter`’ı `FastAPI` uygulamasına dahil ettiğiniz gibi, bir `APIRout
router.include_router(other_router)
```
`router`’ı `FastAPI` uygulamasına dahil etmeden önce bunu yaptığınızdan emin olun; böylece `other_router` içindeki *path operation*’lar da dahil edilmiş olur.
Bunu, `router`’ı `FastAPI` uygulamasına dahil etmeden önce de sonra da yapabilirsiniz. FastAPI, `other_router` içindeki *path operation*’ları yönlendirmeye (routing) ve OpenAPI’ye yine dahil eder.
Aynı şey, router’lara daha sonra eklenen *path operation*’lar için de geçerlidir. Önceden yapılmış dahil etme üzerinden de görünür olurlar.
/// warning | Teknik Detaylar
Bir router’ı dahil ettikten sonra `router.routes`’i doğrudan değiştirmekten kaçının. FastAPI, router dahilini canlı (live) kabul eder; bu nedenle orijinal router ve içindeki route’lar, yönlendirme ve OpenAPI üretiminin bir parçası olarak kalır.
Route ve router eklemek için path operation decorator’ları ve `.include_router()` gibi belgelenmiş API’leri kullanın.
`router.routes`’i, route tanımlarını ve dahil edilmiş router’ları barındırabilen daha alt seviye bir route ağacı olarak düşünün; bunu nihai *path operation*’ların düz bir listesiymiş gibi kullanmaktan kaçının.
///

4
docs/tr/docs/tutorial/body-multiple-params.md

@ -111,7 +111,7 @@ q: str | None = None
{* ../../docs_src/body_multiple_params/tutorial004_an_py310.py hl[28] *}
/// info | Bilgi
/// note | Not
`Body`, `Query`, `Path` ve daha sonra göreceğiniz diğerleriyle aynı ek validasyon ve metadata parametrelerine de sahiptir.
@ -126,7 +126,7 @@ Varsayılan olarak **FastAPI**, body'nin doğrudan bu modelin içeriği olmasın
Ancak, ek body parametreleri tanımladığınızda olduğu gibi, `item` anahtarı olan bir JSON ve onun içinde modelin içeriğini beklemesini istiyorsanız, `Body`'nin özel parametresi olan `embed`'i kullanabilirsiniz:
```Python
item: Item = Body(embed=True)
item: Annotated[Item, Body(embed=True)]
```
yani şöyle:

4
docs/tr/docs/tutorial/body-nested-models.md

@ -135,7 +135,7 @@ Bu, aşağıdaki gibi bir JSON body bekler (dönüştürür, doğrular, doküman
}
```
/// info | Bilgi
/// note | Not
`images` key’inin artık image object’lerinden oluşan bir list içerdiğine dikkat edin.
@ -147,7 +147,7 @@ Bu, aşağıdaki gibi bir JSON body bekler (dönüştürür, doğrular, doküman
{* ../../docs_src/body_nested_models/tutorial007_py310.py hl[7,12,18,21,25] *}
/// info | Bilgi
/// note | Not
`Offer`’ın bir `Item` list’i olduğuna, `Item`’ların da opsiyonel bir `Image` list’ine sahip olduğuna dikkat edin.

2
docs/tr/docs/tutorial/body.md

@ -8,7 +8,7 @@ API'niz neredeyse her zaman bir **response** body göndermek zorundadır. Ancak
Bir **request** body tanımlamak için, tüm gücü ve avantajlarıyla [Pydantic](https://docs.pydantic.dev/) modellerini kullanırsınız.
/// info | Bilgi
/// note | Not
Veri göndermek için şunlardan birini kullanmalısınız: `POST` (en yaygını), `PUT`, `DELETE` veya `PATCH`.

4
docs/tr/docs/tutorial/cookie-param-models.md

@ -6,7 +6,7 @@ Bu sayede **model'i yeniden kullanabilir**, **birden fazla yerde** tekrar tekrar
/// note | Not
This is supported since FastAPI version `0.115.0`. 🤓
Bu özellik FastAPI'nin `0.115.0` sürümünden itibaren desteklenmektedir. 🤓
///
@ -32,7 +32,7 @@ Tanımlanan cookie'leri `/docs` altındaki docs UI'da görebilirsiniz:
<img src="/img/tutorial/cookie-param-models/image01.png">
</div>
/// info | Bilgi
/// note | Not
Tarayıcıların cookie'leri özel biçimlerde ve arka planda yönetmesi nedeniyle, **JavaScript**'in cookie'lere erişmesine kolayca izin vermediğini aklınızda bulundurun.

4
docs/tr/docs/tutorial/cookie-params.md

@ -24,13 +24,13 @@ Ancak `fastapi`'dan `Query`, `Path`, `Cookie` ve diğerlerini import ettiğinizd
///
/// info | Bilgi
/// note | Not
Cookie'leri tanımlamak için `Cookie` kullanmanız gerekir, aksi halde parametreler query parametreleri olarak yorumlanır.
///
/// info | Bilgi
/// note | Not
**Tarayıcılar cookie'leri** özel şekillerde ve arka planda işlediği için, **JavaScript**'in onlara dokunmasına kolayca izin **vermezler**.

2
docs/tr/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md

@ -28,7 +28,7 @@ Ayrıca kodunuzda kullanılmayan bir parametreyi gören yeni geliştiricilerin b
///
/// info | Bilgi
/// note | Not
Bu örnekte uydurma özel header'lar olan `X-Key` ve `X-Token` kullanıyoruz.

4
docs/tr/docs/tutorial/dependencies/dependencies-with-yield.md

@ -1,6 +1,6 @@
# `yield` ile Dependency'ler { #dependencies-with-yield }
FastAPI, işini bitirdikten sonra <dfn title='bazen "exit code", "cleanup code", "teardown code", "closing code", "context manager exit code" vb. olarak da adlandırılır'>ek adımlar</dfn> çalıştıran dependency'leri destekler.
FastAPI, işini bitirdikten sonra <dfn title='bazen "çıkış kodu", "temizleme kodu", "sökme kodu", "kapatma kodu", "bağlam yöneticisi çıkış kodu" vb. olarak da adlandırılır'>ek adımlar</dfn> çalıştıran dependency'leri destekler.
Bunu yapmak için `return` yerine `yield` kullanın ve ek adımları (kodu) `yield` satırından sonra yazın.
@ -170,7 +170,7 @@ participant tasks as Background tasks
end
```
/// info | Bilgi
/// note | Not
Client'a yalnızca **tek bir response** gönderilir. Bu, error response'lardan biri olabilir ya da *path operation*'dan dönen response olabilir.

4
docs/tr/docs/tutorial/dependencies/index.md

@ -51,7 +51,7 @@ Bu örnekte, bu dependency şunları bekler:
Sonra da bu değerleri içeren bir `dict` döndürür.
/// info | Bilgi
/// note | Not
FastAPI, `Annotated` desteğini 0.95.0 sürümünde ekledi (ve önermeye başladı).
@ -106,7 +106,7 @@ common_parameters --> read_users
Bu şekilde paylaşılan kodu bir kez yazarsınız ve onu *path operation*'larda çağırma işini **FastAPI** halleder.
/// check | Ek bilgi
/// tip | İpucu
Dikkat edin: Bunu "register" etmek ya da benzeri bir şey yapmak için özel bir class oluşturup **FastAPI**'ye bir yere geçirmeniz gerekmez.

2
docs/tr/docs/tutorial/dependencies/sub-dependencies.md

@ -35,7 +35,7 @@ Sonra bu bağımlılığı şöyle kullanabiliriz:
{* ../../docs_src/dependencies/tutorial005_an_py310.py hl[23] *}
/// info | Bilgi
/// note | Not
Dikkat edin, *path operation function* içinde yalnızca tek bir bağımlılık tanımlıyoruz: `query_or_cookie_extractor`.

34
docs/tr/docs/tutorial/first-steps.md

@ -180,7 +180,7 @@ Bu da şuna eşdeğer olur:
from backend.main import app
```
### Path ile `fastapi dev` { #fastapi-dev-with-path }
### Path ile veya `--entrypoint` CLI seçeneğiyle `fastapi dev` { #fastapi-dev-with-path-or-with-entrypoint-cli-option }
Dosya path'ini `fastapi dev` komutuna da verebilirsiniz; hangi FastAPI app objesini kullanacağını tahmin eder:
@ -188,29 +188,19 @@ Dosya path'ini `fastapi dev` komutuna da verebilirsiniz; hangi FastAPI app objes
$ fastapi dev main.py
```
Ancak `fastapi` komutunu her çağırdığınızda doğru path'i geçmeyi hatırlamanız gerekir.
Ayrıca, [VS Code Eklentisi](../editor-support.md) veya [FastAPI Cloud](https://fastapicloud.com) gibi başka araçlar da onu bulamayabilir; bu yüzden `pyproject.toml` içindeki `entrypoint`'i kullanmanız önerilir.
### Uygulamanızı Yayınlayın (opsiyonel) { #deploy-your-app-optional }
İsterseniz FastAPI uygulamanızı [FastAPI Cloud](https://fastapicloud.com)'a deploy edebilirsiniz; henüz katılmadıysanız gidip bekleme listesine yazılın. 🚀
Zaten bir **FastAPI Cloud** hesabınız varsa (bekleme listesinden sizi davet ettiysek 😉), uygulamanızı tek komutla deploy edebilirsiniz.
Deploy etmeden önce giriş yaptığınızdan emin olun:
<div class="termy">
Veya `fastapi dev` komutuna `--entrypoint` seçeneğini de geçebilirsiniz:
```console
$ fastapi login
You are logged in to FastAPI Cloud 🚀
$ fastapi dev --entrypoint main:app
```
</div>
Ancak `fastapi` komutunu her çağırdığınızda doğru path'i veya entrypoint'i geçmeyi hatırlamanız gerekir.
Ayrıca, [VS Code Eklentisi](../editor-support.md) veya [FastAPI Cloud](https://fastapicloud.com) gibi başka araçlar da onu bulamayabilir; bu yüzden `pyproject.toml` içindeki `entrypoint`'i kullanmanız önerilir.
Ardından uygulamanızı deploy edin:
### Uygulamanızı Yayınlayın (opsiyonel) { #deploy-your-app-optional }
İsterseniz FastAPI uygulamanızı [FastAPI Cloud](https://fastapicloud.com)'a tek komutla deploy edebilirsiniz. 🚀
<div class="termy">
@ -226,6 +216,8 @@ Deploying to FastAPI Cloud...
</div>
CLI, FastAPI uygulamanızı otomatik olarak algılar ve buluta deploy eder. Giriş yapmadıysanız, kimlik doğrulama işlemini tamamlamak için tarayıcınız açılır.
Bu kadar! Artık uygulamanıza o URL üzerinden erişebilirsiniz. ✨
## Adım Adım Özetleyelim { #recap-step-by-step }
@ -270,7 +262,7 @@ https://example.com/items/foo
/items/foo
```
/// info | Bilgi
/// note | Not
Bir "path" genellikle "endpoint" veya "route" olarak da adlandırılır.
@ -322,7 +314,7 @@ Biz de bunlara "**operation**" diyeceğiz.
* path `/`
* <dfn title="bir HTTP GET methodu"><code>get</code> operation</dfn> kullanarak
/// info | `@decorator` Bilgisi
/// note | `@decorator` Bilgisi
Python'daki `@something` söz dizimi "decorator" olarak adlandırılır.

4
docs/tr/docs/tutorial/metadata.md

@ -74,9 +74,9 @@ Kullandığınız tüm tag'ler için metadata eklemek zorunda değilsiniz.
{* ../../docs_src/metadata/tutorial004_py310.py hl[21,26] *}
/// info | Bilgi
/// note | Not
Tag'ler hakkında daha fazlası için: [Path Operation Configuration](path-operation-configuration.md#tags).
Tag'ler hakkında daha fazlası için: [Path Operation Yapılandırması](path-operation-configuration.md#tags).
///

6
docs/tr/docs/tutorial/path-operation-configuration.md

@ -66,19 +66,19 @@ Interactive docs’ta şöyle kullanılacaktır:
<img src="/img/tutorial/path-operation-configuration/image02.png">
## Response description { #response-description }
## Response Açıklaması { #response-description }
`response_description` parametresi ile response açıklamasını belirtebilirsiniz:
{* ../../docs_src/path_operation_configuration/tutorial005_py310.py hl[18] *}
/// info | Bilgi
/// note | Not
`response_description` özellikle response’u ifade eder; `description` ise genel olarak *path operation*’ı ifade eder.
///
/// check | Ek bilgi
/// tip | İpucu
OpenAPI, her *path operation* için bir response description zorunlu kılar.

6
docs/tr/docs/tutorial/path-params-numeric-validations.md

@ -8,7 +8,7 @@
{* ../../docs_src/path_params_numeric_validations/tutorial001_an_py310.py hl[1,3] *}
/// info | Bilgi
/// note | Not
FastAPI, 0.95.0 sürümünde `Annotated` desteğini ekledi (ve bunu önermeye başladı).
@ -56,7 +56,7 @@ Dolayısıyla fonksiyonunuzu şöyle tanımlayabilirsiniz:
{* ../../docs_src/path_params_numeric_validations/tutorial002_py310.py hl[7] *}
Namun şunu unutmayın: `Annotated` kullanırsanız bu problem olmaz; çünkü `Query()` veya `Path()` için fonksiyon parametresi default değerlerini kullanmıyorsunuz.
Ancak şunu unutmayın: `Annotated` kullanırsanız bu problem olmaz; çünkü `Query()` veya `Path()` için fonksiyon parametresi default değerlerini kullanmıyorsunuz.
{* ../../docs_src/path_params_numeric_validations/tutorial002_an_py310.py *}
@ -131,7 +131,7 @@ Ayrıca sayısal doğrulamalar da tanımlayabilirsiniz:
* `lt`: `l`ess `t`han
* `le`: `l`ess than or `e`qual
/// info | Bilgi
/// note | Not
`Query`, `Path` ve ileride göreceğiniz diğer class'lar ortak bir `Param` class'ının alt class'larıdır.

8
docs/tr/docs/tutorial/path-params.md

@ -20,7 +20,7 @@ Standart Python tip belirteçlerini kullanarak path parametresinin tipini fonksi
Bu durumda, `item_id` bir `int` olarak tanımlanır.
/// check | Ek bilgi
/// tip | İpucu
Bu sayede, fonksiyon içinde hata denetimi, kod tamamlama vb. konularda editör desteğine kavuşursunuz.
@ -34,7 +34,7 @@ Bu örneği çalıştırıp tarayıcınızda [http://127.0.0.1:8000/items/3](htt
{"item_id":3}
```
/// check | Ek bilgi
/// tip | İpucu
Dikkat edin: fonksiyonunuzun aldığı (ve döndürdüğü) değer olan `3`, string `"3"` değil, bir Python `int`'idir.
@ -66,7 +66,7 @@ Ancak tarayıcınızda [http://127.0.0.1:8000/items/foo](http://127.0.0.1:8000/i
Aynı hata, şu örnekte olduğu gibi `int` yerine `float` verirseniz de ortaya çıkar: [http://127.0.0.1:8000/items/4.2](http://127.0.0.1:8000/items/4.2)
/// check | Ek bilgi
/// tip | İpucu
Yani, aynı Python tip tanımıyla birlikte **FastAPI** size veri doğrulama sağlar.
@ -82,7 +82,7 @@ Tarayıcınızı [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) adresi
<img src="/img/tutorial/path-params/image01.png">
/// check | Ek bilgi
/// tip | İpucu
Yine, sadece aynı Python tip tanımıyla **FastAPI** size otomatik ve interaktif dokümantasyon (Swagger UI entegrasyonuyla) sağlar.

6
docs/tr/docs/tutorial/query-params-str-validations.md

@ -29,7 +29,7 @@ Bunu yapmak için önce şunları import edin:
{* ../../docs_src/query_params_str_validations/tutorial002_an_py310.py hl[1,3] *}
/// info | Bilgi
/// note | Not
FastAPI, 0.95.0 sürümünde `Annotated` desteğini ekledi (ve önermeye başladı).
@ -348,7 +348,7 @@ O zaman bir `alias` tanımlayabilirsiniz; bu alias, parametre değerini bulmak i
Diyelim ki artık bu parametreyi istemiyorsunuz.
Bazı client’lar hâlâ kullandığı için bir süre tutmanız gerekiyor, ama dokümanların bunu açıkça <dfn title="kullanımdan kalkmış, kullanmamanız önerilir">deprecated</dfn> olarak göstermesini istiyorsunuz.
Bazı client’lar hâlâ kullandığı için bir süre tutmanız gerekiyor, ama dokümanların bunu açıkça <dfn title="kullanımdan kalkmış, kullanmamanız önerilir">kullanımdan kalkmış</dfn> olarak göstermesini istiyorsunuz.
O zaman `Query`’ye `deprecated=True` parametresini geçin:
@ -382,7 +382,7 @@ Pydantic’te [`BeforeValidator`](https://docs.pydantic.dev/latest/concepts/vali
{* ../../docs_src/query_params_str_validations/tutorial015_an_py310.py hl[5,16:19,24] *}
/// info | Bilgi
/// note | Not
Bu özellik Pydantic 2 ve üzeri sürümlerde mevcuttur. 😎

2
docs/tr/docs/tutorial/query-params.md

@ -65,7 +65,7 @@ Aynı şekilde, varsayılan değerlerini `None` yaparak isteğe bağlı query pa
Bu durumda, fonksiyon parametresi `q` isteğe bağlı olur ve varsayılan olarak `None` olur.
/// check | Ek bilgi
/// tip | İpucu
Ayrıca, **FastAPI** path parametresi olan `item_id`'nin bir path parametresi olduğunu ve `q`'nun path olmadığını fark edecek kadar akıllıdır; dolayısıyla bu bir query parametresidir.

6
docs/tr/docs/tutorial/request-files.md

@ -2,11 +2,11 @@
İstemcinin upload edeceği dosyaları `File` kullanarak tanımlayabilirsiniz.
/// info | Bilgi
/// note | Not
Upload edilen dosyaları alabilmek için önce [`python-multipart`](https://github.com/Kludex/python-multipart) yükleyin.
Bir [virtual environment](../virtual-environments.md) oluşturduğunuzdan, aktive ettiğinizden ve ardından paketi yüklediğinizden emin olun. Örneğin:
Bir [Sanal ortam](../virtual-environments.md) oluşturduğunuzdan, aktive ettiğinizden ve ardından paketi yüklediğinizden emin olun. Örneğin:
```console
$ pip install python-multipart
@ -28,7 +28,7 @@ Bunun nedeni, upload edilen dosyaların "form data" olarak gönderilmesidir.
{* ../../docs_src/request_files/tutorial001_an_py310.py hl[9] *}
/// info | Bilgi
/// note | Not
`File`, doğrudan `Form`’dan türeyen bir sınıftır.

4
docs/tr/docs/tutorial/request-form-models.md

@ -2,11 +2,11 @@
FastAPI'de **form field**'larını tanımlamak için **Pydantic model**'lerini kullanabilirsiniz.
/// info | Bilgi
/// note | Not
Form'ları kullanmak için önce [`python-multipart`](https://github.com/Kludex/python-multipart)'ı yükleyin.
Bir [virtual environment](../virtual-environments.md) oluşturduğunuzdan, onu etkinleştirdiğinizden ve ardından paketi kurduğunuzdan emin olun. Örneğin:
Bir [Sanal ortam](../virtual-environments.md) oluşturduğunuzdan, onu etkinleştirdiğinizden ve ardından paketi kurduğunuzdan emin olun. Örneğin:
```console
$ pip install python-multipart

2
docs/tr/docs/tutorial/request-forms-and-files.md

@ -2,7 +2,7 @@
`File` ve `Form` kullanarak aynı anda hem dosyaları hem de form alanlarını tanımlayabilirsiniz.
/// info | Bilgi
/// note | Not
Yüklenen dosyaları ve/veya form verisini almak için önce [`python-multipart`](https://github.com/Kludex/python-multipart) paketini kurun.

8
docs/tr/docs/tutorial/request-forms.md

@ -2,7 +2,7 @@
JSON yerine form alanlarını almanız gerektiğinde `Form` kullanabilirsiniz.
/// info | Bilgi
/// note | Not
Formları kullanmak için önce [`python-multipart`](https://github.com/Kludex/python-multipart) paketini kurun.
@ -28,11 +28,11 @@ Form parametrelerini `Body` veya `Query` için yaptığınız gibi oluşturun:
Ö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.
<dfn title="spesifikasyon">Spesifikasyon</dfn>, alanların adının tam olarak `username` ve `password` olmasını ve JSON değil form alanları olarak gönderilmesini gerektirir.
<dfn title="spesifikasyon">spesifikasyon</dfn>, 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
/// note | Not
`Form`, doğrudan `Body`'den miras alan bir sınıftır.
@ -62,7 +62,7 @@ Bu encoding'ler ve form alanları hakkında daha fazla okumak isterseniz, [<abbr
/// 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/x-www-form-urlencoded` ile encode edilmiş olur.
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.

6
docs/tr/docs/tutorial/response-model.md

@ -72,7 +72,7 @@ Burada `UserIn` adında bir model declare ediyoruz; bu model plaintext bir passw
{* ../../docs_src/response_model/tutorial002_py310.py hl[7,9] *}
/// info | Bilgi
/// note | Not
`EmailStr` kullanmak için önce [`email-validator`](https://github.com/JoshData/python-email-validator) paketini kurun.
@ -98,7 +98,7 @@ Artık bir browser password ile user oluşturduğunda, API response içinde ayn
Bu örnekte sorun olmayabilir; çünkü password’ü gönderen kullanıcı zaten aynı kişi.
Ancak aynı modeli başka bir *path operation* için kullanırsak, kullanıcının password’lerini her client’a gönderiyor olabiliriz.
Namun aynı modeli başka bir *path operation* için kullanırsak, kullanıcının password’lerini her client’a gönderiyor olabiliriz.
/// danger
@ -251,7 +251,7 @@ Dolayısıyla ID’si `foo` olan item için bu *path operation*’a request atar
}
```
/// info | Bilgi
/// note | Not
Ayrıca şunları da kullanabilirsiniz:

2
docs/tr/docs/tutorial/response-status-code.md

@ -18,7 +18,7 @@ Bir response model tanımlayabildiğiniz gibi, herhangi bir *path operation* iç
`status_code` parametresi, HTTP status code'u içeren bir sayı alır.
/// info | Bilgi
/// note | Bilgi
Alternatif olarak `status_code`, Python'un [`http.HTTPStatus`](https://docs.python.org/3/library/http.html#http.HTTPStatus)'ı gibi bir `IntEnum` da alabilir.

6
docs/tr/docs/tutorial/schema-extra-example.md

@ -24,7 +24,7 @@ Aynı tekniği JSON Schema’yı genişletmek ve kendi özel ek bilgilerinizi ek
///
/// info | Bilgi
/// note | Bilgi
OpenAPI 3.1.0 (FastAPI 0.99.0’dan beri kullanılıyor), **JSON Schema** standardının bir parçası olan `examples` için destek ekledi.
@ -155,7 +155,7 @@ OpenAPI ayrıca spesifikasyonun diğer bölümlerine de `example` ve `examples`
* `File()`
* `Form()`
/// info | Bilgi
/// note | Bilgi
Bu eski OpenAPI’ye özel `examples` parametresi, FastAPI `0.103.0` sürümünden beri `openapi_examples` olarak kullanılıyor.
@ -171,7 +171,7 @@ Ve artık, deprecated olan eski tekil (ve özel) `example` alanına kıyasla bu
JSON Schema’daki bu yeni `examples` alanı, OpenAPI’de başka yerlerde kullanılan (yukarıda anlatılan) metadata’lı `dict` yapısından farklı olarak **sadece örneklerden oluşan bir `list`**’tir.
/// info | Bilgi
/// note | Bilgi
OpenAPI 3.1.0, JSON Schema ile bu yeni ve daha basit entegrasyonla yayımlandıktan sonra bile bir süre, otomatik dokümantasyonu sağlayan araç Swagger UI OpenAPI 3.1.0’ı desteklemiyordu (5.0.0 sürümünden beri destekliyor 🎉).

14
docs/tr/docs/tutorial/security/first-steps.md

@ -24,13 +24,13 @@ Güvenliği yönetmek için **FastAPI**’nin sunduğu araçları kullanalım.
## Çalıştırın { #run-it }
/// info | Bilgi
/// note | Not
The [`python-multipart`](https://github.com/Kludex/python-multipart) paketi, `pip install "fastapi[standard]"` komutunu çalıştırdığınızda **FastAPI** ile birlikte otomatik olarak kurulur.
Ancak `pip install fastapi` komutunu kullanırsanız, `python-multipart` paketi varsayılan olarak dahil edilmez.
Elle kurmak için bir [virtual environment](../../virtual-environments.md) oluşturduğunuzdan, onu aktive ettiğinizden emin olun ve ardından şununla kurun:
Elle kurmak için bir [Sanal ortam](../../virtual-environments.md) oluşturduğunuzdan, onu aktive ettiğinizden emin olun ve ardından şununla kurun:
```console
$ pip install python-multipart
@ -60,7 +60,7 @@ Etkileşimli dokümantasyona gidin: [http://127.0.0.1:8000/docs](http://127.0.0.
<img src="/img/tutorial/security/image01.png">
/// check | Authorize butonu!
/// tip | Authorize butonu!
Artık parıl parıl yeni bir "Authorize" butonunuz var.
@ -118,7 +118,7 @@ O yüzden basitleştirilmiş bu bakış açısından üzerinden geçelim:
Bu örnekte **OAuth2**’yi, **Password** flow ile, **Bearer** token kullanarak uygulayacağız. Bunu `OAuth2PasswordBearer` sınıfı ile yaparız.
/// info | Bilgi
/// note | Not
"Bearer" token tek seçenek değildir.
@ -140,7 +140,7 @@ Burada `tokenUrl="token"`, henüz oluşturmadığımız göreli bir URL olan `to
Göreli URL kullandığımız için, API’niz `https://example.com/` adresinde olsaydı `https://example.com/token` anlamına gelirdi. Ama API’niz `https://example.com/api/v1/` adresinde olsaydı, bu kez `https://example.com/api/v1/token` anlamına gelirdi.
Göreli URL kullanmak, [Behind a Proxy](../../advanced/behind-a-proxy.md) gibi daha ileri kullanım senaryolarında bile uygulamanızın çalışmaya devam etmesini garanti etmek açısından önemlidir.
Göreli URL kullanmak, [Bir Proxy Arkasında](../../advanced/behind-a-proxy.md) gibi daha ileri kullanım senaryolarında bile uygulamanızın çalışmaya devam etmesini garanti etmek açısından önemlidir.
///
@ -148,7 +148,7 @@ Bu parametre o endpoint’i / *path operation*’ı oluşturmaz; fakat `/token`
Birazdan gerçek path operation’ı da oluşturacağız.
/// info | Teknik Detaylar
/// note | Teknik Detaylar
Eğer çok katı bir "Pythonista" iseniz, `token_url` yerine `tokenUrl` şeklindeki parametre adlandırma stilini sevmeyebilirsiniz.
@ -176,7 +176,7 @@ Bu dependency, *path operation function* içindeki `token` parametresine atanaca
**FastAPI**, bu dependency’yi OpenAPI şemasında (ve otomatik API dokümanlarında) bir "security scheme" tanımlamak için kullanabileceğini bilir.
/// info | Teknik Detaylar
/// note | Teknik Detaylar
**FastAPI**, bir dependency içinde tanımlanan `OAuth2PasswordBearer` sınıfını OpenAPI’de security scheme tanımlamak için kullanabileceğini bilir; çünkü bu sınıf `fastapi.security.oauth2.OAuth2`’den kalıtım alır, o da `fastapi.security.base.SecurityBase`’den kalıtım alır.

2
docs/tr/docs/tutorial/security/get-current-user.md

@ -52,7 +52,7 @@ Burada `Depends` kullandığınız için **FastAPI** karışıklık yaşamaz.
///
/// check | Ek bilgi
/// tip | İpucu
Bu dependency sisteminin tasarımı, hepsi `User` modeli döndüren farklı dependency'lere (farklı "dependable"lara) sahip olmamıza izin verir.

6
docs/tr/docs/tutorial/security/oauth2-jwt.md

@ -18,7 +18,7 @@ eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4
Şifrelenmiş değildir; yani herkes içeriğindeki bilgiyi geri çıkarabilir.
Ancak imzalanmıştır. Bu yüzden, sizin ürettiğiniz bir token'ı aldığınızda, gerçekten onu sizin ürettiğinizi doğrulayabilirsiniz.
Namun imzalanmıştır. Bu yüzden, sizin ürettiğiniz bir token'ı aldığınızda, gerçekten onu sizin ürettiğinizi doğrulayabilirsiniz.
Bu şekilde, örneğin 1 haftalık süre sonu (expiration) olan bir token oluşturabilirsiniz. Sonra kullanıcı ertesi gün token ile geri geldiğinde, kullanıcının hâlâ sisteminizde oturum açmış olduğunu bilirsiniz.
@ -42,7 +42,7 @@ $ pip install pyjwt
</div>
/// info | Bilgi
/// note | Not
RSA veya ECDSA gibi dijital imza algoritmaları kullanmayı planlıyorsanız, `pyjwt[crypto]` bağımlılığı olan `cryptography` kütüphanesini kurmalısınız.
@ -213,7 +213,7 @@ Uygulamayı, öncekiyle aynı şekilde authorize edin.
Username: `johndoe`
Password: `secret`
/// check | Ek bilgi
/// tip | İpucu
Kodun hiçbir yerinde düz metin password "`secret`" yok; sadece hash'lenmiş hâli var.

8
docs/tr/docs/tutorial/security/simple-oauth2.md

@ -32,7 +32,7 @@ Genelde belirli güvenlik izinlerini (permission) belirtmek için kullanılırla
* `instagram_basic` Facebook / Instagram tarafından kullanılır.
* `https://www.googleapis.com/auth/drive` Google tarafından kullanılır.
/// info | Bilgi
/// note | Not
OAuth2’de bir "scope", gerekli olan belirli bir izni ifade eden basit bir string’dir.
@ -72,7 +72,7 @@ Bunu zorlamak istiyorsanız, `OAuth2PasswordRequestForm` yerine `OAuth2PasswordR
* Opsiyonel `client_id` (bu örnekte ihtiyacımız yok).
* Opsiyonel `client_secret` (bu örnekte ihtiyacımız yok).
/// info | Bilgi
/// note | Not
`OAuth2PasswordRequestForm`, `OAuth2PasswordBearer` gibi **FastAPI**’ye özel “özel bir sınıf” değildir.
@ -144,7 +144,7 @@ UserInDB(
)
```
/// info | Bilgi
/// note | Not
`**user_dict` için daha kapsamlı bir açıklama için [**Extra Models** dokümantasyonundaki ilgili bölüme](../extra-models.md#about-user-in-dict) geri dönüp bakın.
@ -196,7 +196,7 @@ Dolayısıyla endpoint’imizde kullanıcıyı ancak kullanıcı varsa, doğru
{* ../../docs_src/security/tutorial003_an_py310.py hl[58:66,69:74,94] *}
/// info | Bilgi
/// note | Not
Burada `Bearer` değerine sahip ek `WWW-Authenticate` header’ını döndürmemiz de spesifikasyonun bir parçasıdır.

2
docs/tr/docs/tutorial/server-sent-events.md

@ -4,7 +4,7 @@
Bu, [JSON Lines Akışı](stream-json-lines.md) ile benzerdir ancak tarayıcılar tarafından yerel olarak desteklenen [`EventSource` API'si](https://developer.mozilla.org/en-US/docs/Web/API/EventSource) ile `text/event-stream` formatını kullanır.
/// info | Bilgi
/// note | Not
FastAPI 0.135.0'da eklendi.

4
docs/tr/docs/tutorial/stream-json-lines.md

@ -2,7 +2,7 @@
Bir veri dizisini “akış” olarak göndermek istediğiniz durumlar olabilir; bunu **JSON Lines** ile yapabilirsiniz.
/// info | Bilgi
/// note | Not
FastAPI 0.134.0 ile eklendi.
@ -48,7 +48,7 @@ Response’un `application/json` yerine `application/jsonl` içerik türü (Cont
Bir JSON dizisine (Python list eşdeğeri) çok benzer; ancak öğeler `[]` içine alınmak ve araya `,` konmak yerine, her satırda **bir JSON nesnesi** vardır; bunlar yeni satır karakteri ile ayrılır.
/// info | Bilgi
/// note | Not
Önemli nokta, uygulamanız her satırı sırayla üretebilirken, istemcinin de önceki satırları tüketmeye devam edebilmesidir.

4
docs/tr/docs/tutorial/testing.md

@ -8,7 +8,7 @@ Bununla birlikte **FastAPI** ile [pytest](https://docs.pytest.org/)'i doğrudan
## `TestClient` Kullanımı { #using-testclient }
/// info | Bilgi
/// note | Not
`TestClient` kullanmak için önce [`httpx`](https://www.python-httpx.org)'i kurun.
@ -141,7 +141,7 @@ Sonra testlerinizde aynısını uygularsınız.
Backend'e veri geçme hakkında daha fazla bilgi için (`httpx` veya `TestClient` kullanarak) [HTTPX dokümantasyonu](https://www.python-httpx.org)'na bakın.
/// info | Bilgi
/// note | Not
`TestClient`'ın Pydantic model'lerini değil, JSON'a dönüştürülebilen verileri aldığını unutmayın.

Loading…
Cancel
Save