diff --git a/docs/em/docs/advanced/additional-responses.md b/docs/em/docs/advanced/additional-responses.md
deleted file mode 100644
index 655fc7ab6..000000000
--- a/docs/em/docs/advanced/additional-responses.md
+++ /dev/null
@@ -1,247 +0,0 @@
-# ๐ ๐จ ๐
-
-/// warning
-
-๐ ๐ ๐ง โ.
-
-๐ฅ ๐ โถ๏ธ โฎ๏ธ **FastAPI**, ๐ ๐ช ๐ซ ๐ช ๐.
-
-///
-
-๐ ๐ช ๐ฃ ๐ ๐จ, โฎ๏ธ ๐ ๐ ๐, ๐ ๐, ๐, โ๏ธ.
-
-๐ ๐ ๐จ ๐ ๐ ๐ ๐, ๐ซ ๐ ๐ ๐ ๏ธ ๐ฉบ.
-
-โ๏ธ ๐ ๐ ๐จ ๐ โ๏ธ โ ๐ญ ๐ ๐จ `Response` ๐ `JSONResponse` ๐, โฎ๏ธ ๐ ๐ ๐ & ๐.
-
-## ๐ ๐จ โฎ๏ธ `model`
-
-๐ ๐ช ๐ถโโ๏ธ ๐ *โก ๐ ๏ธ ๐จโ๐จ* ๐ข `responses`.
-
-โซ๏ธ ๐จ `dict`, ๐ ๐ ๐ ๐ ๐จ, ๐ `200`, & ๐ฒ ๐ `dict`โ โฎ๏ธ โน ๐ ๐ซ.
-
-๐ ๐ ๐จ `dict`โ ๐ช โ๏ธ ๐ `model`, โ Pydantic ๐ท, ๐ `response_model`.
-
-**FastAPI** ๐ โ ๐ ๐ท, ๐ ๐ฎ ๐ป ๐ & ๐ โซ๏ธ โ ๐ฅ ๐.
-
-๐ผ, ๐ฃ โ1๏ธโฃ ๐จ โฎ๏ธ ๐ ๐ `404` & Pydantic ๐ท `Message`, ๐ ๐ช โ:
-
-{* ../../docs_src/additional_responses/tutorial001.py hl[18,22] *}
-
-/// note
-
-โ๏ธ ๐คฏ ๐ ๐ โ๏ธ ๐จ `JSONResponse` ๐.
-
-///
-
-/// info
-
-`model` ๐ ๐ซ ๐ ๐.
-
-**FastAPI** ๐ โ Pydantic ๐ท โช๏ธโก๏ธ ๐ค, ๐ `JSON Schema`, & ๐ฎ โซ๏ธ โ ๐ฅ.
-
-โ ๐ฅ:
-
-* ๐ `content`, ๐ โ๏ธ ๐ฒ โ1๏ธโฃ ๐ป ๐ (`dict`) ๐ ๐:
- * ๐ โฎ๏ธ ๐ป ๐, โ
`application/json`, ๐ ๐ ๐ฒ โ1๏ธโฃ ๐ป ๐, ๐ ๐:
- * ๐ `schema`, ๐ โ๏ธ ๐ฒ ๐ป ๐ โช๏ธโก๏ธ ๐ท, ๐ฅ โ ๐ฅ.
- * **FastAPI** ๐ฎ ๐ ๐ฅ ๐ ๐ป ๐ โ1๏ธโฃ ๐ฅ ๐ ๐ โฉ๏ธ โ
โซ๏ธ ๐. ๐ ๐, ๐ ๐ธ & ๐ฉโ๐ป ๐ช โ๏ธ ๐ ๐ป ๐ ๐, ๐ ๐ป ๐ โก ๐งฐ, โ๏ธ.
-
-///
-
-๐ ๐จ ๐ ๐ *โก ๐ ๏ธ* ๐:
-
-```JSON hl_lines="3-12"
-{
- "responses": {
- "404": {
- "description": "Additional Response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Message"
- }
- }
- }
- },
- "200": {
- "description": "Successful Response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Item"
- }
- }
- }
- },
- "422": {
- "description": "Validation Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/HTTPValidationError"
- }
- }
- }
- }
- }
-}
-```
-
-๐ ๐ โ1๏ธโฃ ๐ฅ ๐ ๐ ๐:
-
-```JSON hl_lines="4-16"
-{
- "components": {
- "schemas": {
- "Message": {
- "title": "Message",
- "required": [
- "message"
- ],
- "type": "object",
- "properties": {
- "message": {
- "title": "Message",
- "type": "string"
- }
- }
- },
- "Item": {
- "title": "Item",
- "required": [
- "id",
- "value"
- ],
- "type": "object",
- "properties": {
- "id": {
- "title": "Id",
- "type": "string"
- },
- "value": {
- "title": "Value",
- "type": "string"
- }
- }
- },
- "ValidationError": {
- "title": "ValidationError",
- "required": [
- "loc",
- "msg",
- "type"
- ],
- "type": "object",
- "properties": {
- "loc": {
- "title": "Location",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "msg": {
- "title": "Message",
- "type": "string"
- },
- "type": {
- "title": "Error Type",
- "type": "string"
- }
- }
- },
- "HTTPValidationError": {
- "title": "HTTPValidationError",
- "type": "object",
- "properties": {
- "detail": {
- "title": "Detail",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ValidationError"
- }
- }
- }
- }
- }
- }
-}
-```
-
-## ๐ ๐ ๐ ๐ ๐จ
-
-๐ ๐ช โ๏ธ ๐ ๐ `responses` ๐ข ๐ฎ ๐ ๐ ๐ ๐ ๐ ๐จ.
-
-๐ผ, ๐ ๐ช ๐ฎ ๐ ๐ป ๐ `image/png`, ๐ฃ ๐ ๐ *โก ๐ ๏ธ* ๐ช ๐จ ๐ป ๐ (โฎ๏ธ ๐ป ๐ `application/json`) โ๏ธ ๐ฉ๐ด ๐ผ:
-
-{* ../../docs_src/additional_responses/tutorial002.py hl[19:24,28] *}
-
-/// note
-
-๐ ๐ ๐ โ๏ธ ๐จ ๐ผ โ๏ธ `FileResponse` ๐.
-
-///
-
-/// info
-
-๐ฅ ๐ โ ๐ ๐ป ๐ ๐ฏ ๐ `responses` ๐ข, FastAPI ๐ ๐ค ๐จ โ๏ธ ๐ ๐ป ๐ ๐ ๐จ ๐ (๐ข `application/json`).
-
-โ๏ธ ๐ฅ ๐ โ๏ธ โ ๐ ๐จ ๐ โฎ๏ธ `None` ๐ฎ ๐ป ๐, FastAPI ๐ โ๏ธ `application/json` ๐ ๐ ๐จ ๐ โ๏ธ ๐จโ๐ผ ๐ท.
-
-///
-
-## ๐ โน
-
-๐ ๐ช ๐ ๐จ โน โช๏ธโก๏ธ ๐ ๐ฅ, ๐ `response_model`, `status_code`, & `responses` ๐ข.
-
-๐ ๐ช ๐ฃ `response_model`, โ๏ธ ๐ข ๐ ๐ `200` (โ๏ธ ๐ 1๏ธโฃ ๐ฅ ๐ ๐ช), & โคด๏ธ ๐ฃ ๐ โน ๐ ๐ ๐จ `responses`, ๐ ๐ ๐.
-
-**FastAPI** ๐ ๐ง ๐ โน โช๏ธโก๏ธ `responses`, & ๐ โซ๏ธ โฎ๏ธ ๐ป ๐ โช๏ธโก๏ธ ๐ ๐ท.
-
-๐ผ, ๐ ๐ช ๐ฃ ๐จ โฎ๏ธ ๐ ๐ `404` ๐ โ๏ธ Pydantic ๐ท & โ๏ธ ๐ `description`.
-
-& ๐จ โฎ๏ธ ๐ ๐ `200` ๐ โ๏ธ ๐ `response_model`, โ๏ธ ๐ ๐ `example`:
-
-{* ../../docs_src/additional_responses/tutorial003.py hl[20:31] *}
-
-โซ๏ธ ๐ ๐ ๐ & ๐ ๐ ๐, & ๐ฆ ๐ ๏ธ ๐ฉบ:
-
-
-
-## ๐ ๐ข ๐จ & ๐ ๐
-
-๐ ๐ช ๐ โ๏ธ ๐ ๐จ ๐ โ ๐ *โก ๐ ๏ธ*, โ๏ธ ๐ ๐ ๐ ๐ซ โฎ๏ธ ๐ ๐จ ๐ ๐ *โก ๐ ๏ธ*.
-
-๐ ๐ผ, ๐ ๐ช โ๏ธ ๐ โ "๐" `dict` โฎ๏ธ `**dict_to_unpack`:
-
-```Python
-old_dict = {
- "old key": "old value",
- "second old key": "second old value",
-}
-new_dict = {**old_dict, "new key": "new value"}
-```
-
-๐ฅ, `new_dict` ๐ ๐ ๐ ๐-๐ฒ ๐ซ โช๏ธโก๏ธ `old_dict` โ ๐ ๐-๐ฒ ๐ซ:
-
-```Python
-{
- "old key": "old value",
- "second old key": "second old value",
- "new key": "new value",
-}
-```
-
-๐ ๐ช โ๏ธ ๐ โ ๐ค-โ๏ธ ๐ข ๐จ ๐ *โก ๐ ๏ธ* & ๐ ๐ซ โฎ๏ธ ๐ ๐ ๐.
-
-๐ผ:
-
-{* ../../docs_src/additional_responses/tutorial004.py hl[13:17,26] *}
-
-## ๐ โน ๐ ๐ ๐จ
-
-๐ โซ๏ธโ โซ๏ธโ ๐ ๐ช ๐ ๐จ, ๐ ๐ช โ
๐ ๐ ๐ ๐ง:
-
-* ๐ ๐จ ๐, โซ๏ธ ๐ `Response Object`.
-* ๐ ๐จ ๐, ๐ ๐ช ๐ ๐ณ โช๏ธโก๏ธ ๐ ๐ ๐ ๐จ ๐ ๐ `responses` ๐ข. โ
`description`, `headers`, `content` (๐ ๐ ๐ ๐ ๐ฃ ๐ ๐ ๐ & ๐ป ๐), & `links`.
diff --git a/docs/em/docs/advanced/additional-status-codes.md b/docs/em/docs/advanced/additional-status-codes.md
deleted file mode 100644
index 907c7e68e..000000000
--- a/docs/em/docs/advanced/additional-status-codes.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# ๐ ๐ ๐
-
-๐ข, **FastAPI** ๐ ๐จ ๐จ โ๏ธ `JSONResponse`, ๐ฎ ๐ ๐ ๐จ โช๏ธโก๏ธ ๐ *โก ๐ ๏ธ* ๐ ๐ `JSONResponse`.
-
-โซ๏ธ ๐ โ๏ธ ๐ข ๐ ๐ โ๏ธ 1๏ธโฃ ๐ โ ๐ *โก ๐ ๏ธ*.
-
-## ๐ ๐ ๐
-
-๐ฅ ๐ ๐ ๐จ ๐ ๐ ๐ โ๏ธ โช๏ธโก๏ธ ๐ 1๏ธโฃ, ๐ ๐ช ๐ ๐ฌ `Response` ๐, ๐ `JSONResponse`, & โ ๐ ๐ ๐ ๐.
-
-๐ผ, โก๏ธ ๐ฌ ๐ ๐ ๐ โ๏ธ *โก ๐ ๏ธ* ๐ โ โน ๐ฌ, & ๐จ ๐บ๐ธ๐ ๐ ๐ 2๏ธโฃ0๏ธโฃ0๏ธโฃ "๐" ๐โ ๐.
-
-โ๏ธ ๐ ๐ โซ๏ธ ๐ซ ๐ ๐ฌ. & ๐โ ๐ฌ ๐ซ ๐ โญ, โซ๏ธ โ ๐ซ, & ๐จ ๐บ๐ธ๐ ๐ ๐ 2๏ธโฃ0๏ธโฃ1๏ธโฃ "โ".
-
-๐ ๐, ๐ `JSONResponse`, & ๐จ ๐ ๐ ๐ค ๐, โ `status_code` ๐ ๐ ๐:
-
-{* ../../docs_src/additional_status_codes/tutorial001.py hl[4,25] *}
-
-/// warning
-
-๐โ ๐ ๐จ `Response` ๐, ๐ ๐ผ ๐, โซ๏ธ ๐ ๐จ ๐.
-
-โซ๏ธ ๐ ๐ซ ๐ป โฎ๏ธ ๐ท, โ๏ธ.
-
-โ ๐ญ โซ๏ธ โ๏ธ ๐ ๐ ๐ โซ๏ธ โ๏ธ, & ๐ ๐ฒ โ ๐ป (๐ฅ ๐ โ๏ธ `JSONResponse`).
-
-///
-
-/// note | ๐ก โน
-
-๐ ๐ช โ๏ธ `from starlette.responses import JSONResponse`.
-
-**FastAPI** ๐ ๐ `starlette.responses` `fastapi.responses` ๐ช ๐, ๐ฉโ๐ป. โ๏ธ ๐
๐ช ๐จ ๐ ๐ โช๏ธโก๏ธ ๐. ๐ โฎ๏ธ `status`.
-
-///
-
-## ๐ & ๐ ๏ธ ๐ฉบ
-
-๐ฅ ๐ ๐จ ๐ ๐ ๐ & ๐จ ๐, ๐ซ ๐ ๐ซ ๐ ๐ ๐ (๐ ๏ธ ๐ฉบ), โฉ๏ธ FastAPI ๐ซ โ๏ธ ๐ ๐ญ โช โซ๏ธโ ๐ ๐ถ ๐จ.
-
-โ๏ธ ๐ ๐ช ๐ ๐ ๐ ๐, โ๏ธ: [๐ ๐จ](additional-responses.md){.internal-link target=_blank}.
diff --git a/docs/em/docs/advanced/advanced-dependencies.md b/docs/em/docs/advanced/advanced-dependencies.md
deleted file mode 100644
index 3404c2687..000000000
--- a/docs/em/docs/advanced/advanced-dependencies.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# ๐ง ๐
-
-## ๐ ๐
-
-๐ ๐ ๐ฅ โ๏ธ ๐ ๐ง ๐ข โ๏ธ ๐.
-
-โ๏ธ ๐ค ๐ช ๐ผ ๐โ ๐ ๐ ๐ช โ ๐ข ๐ ๐, ๐ต โ๏ธ ๐ฃ ๐ ๐ ๐ข โ๏ธ ๐.
-
-โก๏ธ ๐ ๐ ๐ฅ ๐ โ๏ธ ๐ ๐ โ
๐ฅ ๐ข ๐ข `q` ๐ ๐ง ๐.
-
-โ๏ธ ๐ฅ ๐ ๐ช ๐ ๐ ๐ง ๐.
-
-## "๐ง๐ฒ" ๐
-
-๐ ๐ค ๐ โ ๐ ๐ "๐ง๐ฒ".
-
-๐ซ ๐ โซ๏ธ (โ โช ๐ง๐ฒ), โ๏ธ ๐ ๐ ๐.
-
-๐, ๐ฅ ๐ฃ ๐ฉโ๐ฌ `__call__`:
-
-{* ../../docs_src/dependencies/tutorial011.py hl[10] *}
-
-๐ ๐ผ, ๐ `__call__` โซ๏ธโ **FastAPI** ๐ โ๏ธ โ
๐ ๐ข & ๐ง-๐, & ๐ โซ๏ธโ ๐ ๐ค ๐ถโโ๏ธ ๐ฒ ๐ข ๐ *โก ๐ ๏ธ ๐ข* โช.
-
-## ๐ ๐
-
-& ๐, ๐ฅ ๐ช โ๏ธ `__init__` ๐ฃ ๐ข ๐ ๐ ๐ฅ ๐ช โ๏ธ "๐" ๐:
-
-{* ../../docs_src/dependencies/tutorial011.py hl[7] *}
-
-๐ ๐ผ, **FastAPI** ๐ ๐ซ โฑ ๐ โ๏ธ ๐
๐ `__init__`, ๐ฅ ๐ โ๏ธ โซ๏ธ ๐ ๐ ๐.
-
-## โ ๐
-
-๐ฅ ๐ช โ ๐ ๐ ๐ โฎ๏ธ:
-
-{* ../../docs_src/dependencies/tutorial011.py hl[16] *}
-
-& ๐ ๐ ๐ฅ ๐ช "๐" ๐ ๐, ๐ ๐ โ๏ธ `"bar"` ๐ โซ๏ธ, ๐ข `checker.fixed_content`.
-
-## โ๏ธ ๐ ๐
-
-โคด๏ธ, ๐ฅ ๐ช โ๏ธ ๐ `checker` `Depends(checker)`, โฉ๏ธ `Depends(FixedContentQueryChecker)`, โฉ๏ธ ๐ ๐, `checker`, ๐ซ ๐ โซ๏ธ.
-
-& ๐โ โ ๐, **FastAPI** ๐ ๐ค ๐ `checker` ๐:
-
-```Python
-checker(q="somequery")
-```
-
-...& ๐ถโโ๏ธ โซ๏ธโ ๐ ๐จ ๐ฒ ๐ ๐ *โก ๐ ๏ธ ๐ข* ๐ข `fixed_content_included`:
-
-{* ../../docs_src/dependencies/tutorial011.py hl[20] *}
-
-/// tip
-
-๐ ๐ ๐ช ๐ ๐ญ. & โซ๏ธ ๐ช ๐ซ ๐ถ ๐ โ โซ๏ธ โ .
-
-๐ซ ๐ผ ๐ซ ๐
, โ๏ธ ๐ฆ โ โซ๏ธ ๐ ๐ท.
-
-๐ ๐ ๐โโ, ๐ค ๐ ๐ข ๐ ๐ ๏ธ ๐ ๐ ๐.
-
-๐ฅ ๐ ๐ค ๐ ๐, ๐ โช ๐ญ โ ๐ ๐ ๐งฐ ๐โโ ๐ท ๐.
-
-///
diff --git a/docs/em/docs/advanced/async-tests.md b/docs/em/docs/advanced/async-tests.md
deleted file mode 100644
index 283d4aa09..000000000
--- a/docs/em/docs/advanced/async-tests.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# ๐ ๐ฏ
-
-๐ โ๏ธ โช ๐ โ ๐ฏ ๐ **FastAPI** ๐ธ โ๏ธ ๐ `TestClient`. ๐ ๐, ๐ โ๏ธ ๐ด ๐ โ โ ๐ ๐ฏ, ๐ต โ๏ธ `async` ๐ข.
-
-โ ๐ช โ๏ธ ๐ ๐ข ๐ ๐ฏ ๐ช โ , ๐ผ, ๐โ ๐ ๐ฌ ๐ ๐ฝ ๐. ๐ ๐ ๐ ๐ฏ ๐จ ๐จ ๐ FastAPI ๐ธ & โคด๏ธ โ ๐ ๐ ๐ฉโ๐ป โช โ โ ๐ฝ ๐ฝ, โช โ๏ธ ๐ ๐ฝ ๐.
-
-โก๏ธ ๐ โ ๐ฅ ๐ช โ ๐ ๐ท.
-
-## pytest.mark.anyio
-
-๐ฅ ๐ฅ ๐ ๐ค ๐ ๐ข ๐ ๐ฏ, ๐ ๐ฏ ๐ข โ๏ธ ๐. AnyIO ๐ ๐ ๐ ๐, ๐ โ ๐ฅ โ ๐ ๐ฏ ๐ข ๐ค ๐.
-
-## ๐ธ๐ฒ
-
-๐ฅ ๐ **FastAPI** ๐ธ โ๏ธ ๐ `def` ๐ข โฉ๏ธ `async def`, โซ๏ธ `async` ๐ธ ๐.
-
-`TestClient` ๐จ ๐ฑ ๐ ๐ค ๐ FastAPI ๐ธ ๐ ๐ `def` ๐ฏ ๐ข, โ๏ธ ๐ฉ โณ. โ๏ธ ๐ ๐ฑ ๐ซ ๐ท ๐ซ๐ ๐โ ๐ฅ โ๏ธ โซ๏ธ ๐ ๐ ๐ข. ๐ ๐ ๐ฏ ๐, ๐ฅ ๐ช ๐
โโ ๐ โ๏ธ `TestClient` ๐ ๐ ๐ฏ ๐ข.
-
-`TestClient` โ๏ธ ๐ ๐ธ๐ฒ, & โฉ๏ธ, ๐ฅ ๐ช โ๏ธ โซ๏ธ ๐ ๐ฏ ๐ ๏ธ.
-
-## ๐ผ
-
-๐
๐ผ, โก๏ธ ๐ค ๐ ๐ ๐ 1๏ธโฃ ๐ฌ [๐ฆ ๐ธ](../tutorial/bigger-applications.md){.internal-link target=_blank} & [๐ฌ](../tutorial/testing.md){.internal-link target=_blank}:
-
-```
-.
-โโโ app
-โย ย โโโ __init__.py
-โย ย โโโ main.py
-โย ย โโโ test_main.py
-```
-
-๐ `main.py` ๐ โ๏ธ:
-
-{* ../../docs_src/async_tests/main.py *}
-
-๐ `test_main.py` ๐ โ๏ธ ๐ฏ `main.py`, โซ๏ธ ๐ช ๐ ๐ ๐ ๐:
-
-{* ../../docs_src/async_tests/test_main.py *}
-
-## ๐ โซ๏ธ
-
-๐ ๐ช ๐ ๐ ๐ฏ ๐ ๐จ:
-
-
-
-โ๏ธ ๐ฅ ๐ฅ ๐ ๐ฉบ ๐ "๐" ๐ โ๏ธ ๐ณ โฎ๏ธ โด `9999`, `/api/v1/docs`, โซ๏ธ ๐ท โ โ ๐ถ
-
-๐ ๐ช โ
โซ๏ธ http://127.0.0.1:9999/api/v1/docs:
-
-
-
-โถ๏ธ๏ธ ๐ฅ ๐ โซ๏ธ. ๐ถ ๐ถ
-
-๐ โฉ๏ธ FastAPI โ๏ธ ๐ `root_path` โ ๐ข `server` ๐ โฎ๏ธ ๐ ๐ `root_path`.
-
-## ๐ ๐ฝ
-
-/// warning
-
-๐ ๐
๐ง โ๏ธ ๐ผ. ๐ญ ๐ ๐ถ โซ๏ธ.
-
-///
-
-๐ข, **FastAPI** ๐ โ `server` ๐ ๐ โฎ๏ธ ๐ `root_path`.
-
-โ๏ธ ๐ ๐ช ๐ ๐ ๐ `servers`, ๐ผ ๐ฅ ๐ ๐ *๐* ๐ฉบ ๐ ๐ โฎ๏ธ ๐ & ๐ญ ๐.
-
-๐ฅ ๐ ๐ถโโ๏ธ ๐ ๐ `servers` & ๐ค `root_path` (โฉ๏ธ ๐ ๐ ๏ธ ๐จโโคโ๐จ โ
๐ณ), **FastAPI** ๐ ๐ฉ "๐ฝ" โฎ๏ธ ๐ `root_path` โถ๏ธ ๐.
-
-๐ผ:
-
-{* ../../docs_src/behind_a_proxy/tutorial003.py hl[4:7] *}
-
-๐ ๐ ๐ ๐ ๐:
-
-```JSON hl_lines="5-7"
-{
- "openapi": "3.0.2",
- // More stuff here
- "servers": [
- {
- "url": "/api/v1"
- },
- {
- "url": "https://stag.example.com",
- "description": "Staging environment"
- },
- {
- "url": "https://prod.example.com",
- "description": "Production environment"
- }
- ],
- "paths": {
- // More stuff here
- }
-}
-```
-
-/// tip
-
-๐ ๐-๐ ๐ฝ โฎ๏ธ `url` ๐ฒ `/api/v1`, โ โช๏ธโก๏ธ `root_path`.
-
-///
-
-๐ฉบ ๐ http://127.0.0.1:9999/api/v1/docs โซ๏ธ ๐ ๐ ๐:
-
-
-
-/// tip
-
-๐ฉบ ๐ ๐ ๐ โฎ๏ธ ๐ฝ ๐ ๐ ๐.
-
-///
-
-### โ ๐ง ๐ฝ โช๏ธโก๏ธ `root_path`
-
-๐ฅ ๐ ๐ซ ๐ **FastAPI** ๐ ๐ง ๐ฝ โ๏ธ `root_path`, ๐ ๐ช โ๏ธ ๐ข `root_path_in_servers=False`:
-
-{* ../../docs_src/behind_a_proxy/tutorial004.py hl[9] *}
-
-& โคด๏ธ โซ๏ธ ๐ ๐ซ ๐ โซ๏ธ ๐ ๐.
-
-## ๐ ๐ง-๐ธ
-
-๐ฅ ๐ ๐ช ๐ป ๐ง-๐ธ (๐ฌ [๐ง ๐ธ - ๐ป](sub-applications.md){.internal-link target=_blank}) โช โ๏ธ ๐ณ โฎ๏ธ `root_path`, ๐ ๐ช โซ๏ธ ๐, ๐ ๐ โ.
-
-FastAPI ๐ ๐ โ๏ธ `root_path` ๐, โซ๏ธ ๐ ๐ท. ๐ถ
diff --git a/docs/em/docs/advanced/custom-response.md b/docs/em/docs/advanced/custom-response.md
deleted file mode 100644
index ab95b3e7b..000000000
--- a/docs/em/docs/advanced/custom-response.md
+++ /dev/null
@@ -1,303 +0,0 @@
-# ๐ ๐จ - ๐ธ, ๐, ๐, ๐
-
-๐ข, **FastAPI** ๐ ๐จ ๐จ โ๏ธ `JSONResponse`.
-
-๐ ๐ช ๐ โซ๏ธ ๐ฌ `Response` ๐ ๐ [๐จ ๐จ ๐](response-directly.md){.internal-link target=_blank}.
-
-โ๏ธ ๐ฅ ๐ ๐จ `Response` ๐, ๐ ๐ ๐ซ ๐ ๐, & ๐งพ ๐ ๐ซ ๐ ๐ (๐ผ, ๐ ๐ฏ "๐ป ๐", ๐บ๐ธ๐ ๐ `Content-Type` ๐ ๐ ๐).
-
-โ๏ธ ๐ ๐ช ๐ฃ `Response` ๐ ๐ ๐ โ๏ธ, *โก ๐ ๏ธ ๐จโ๐จ*.
-
-๐ ๐ ๐ ๐จ โช๏ธโก๏ธ ๐ *โก ๐ ๏ธ ๐ข* ๐ ๐ฎ ๐ ๐ `Response`.
-
-& ๐ฅ ๐ `Response` โ๏ธ ๐ป ๐ป ๐ (`application/json`), ๐ ๐ผ โฎ๏ธ `JSONResponse` & `UJSONResponse`, ๐ฝ ๐ ๐จ ๐ ๐ ๐ (& โฝ) โฎ๏ธ ๐ Pydantic `response_model` ๐ ๐ ๐ฃ *โก ๐ ๏ธ ๐จโ๐จ*.
-
-/// note
-
-๐ฅ ๐ โ๏ธ ๐จ ๐ โฎ๏ธ ๐
โโ ๐ป ๐, FastAPI ๐ โ ๐ ๐จ โ๏ธ ๐
โโ ๐, โซ๏ธ ๐ ๐ซ ๐ ๐จ ๐ ๐ฎ ๐ ๐ ๐ฉบ.
-
-///
-
-## โ๏ธ `ORJSONResponse`
-
-๐ผ, ๐ฅ ๐ โ ๐ญ, ๐ ๐ช โ & โ๏ธ `orjson` & โ ๐จ `ORJSONResponse`.
-
-๐ `Response` ๐ (๐ง-๐) ๐ ๐ โ๏ธ & ๐ฃ โซ๏ธ *โก ๐ ๏ธ ๐จโ๐จ*.
-
-โญ ๐จ, ๐จ `Response` ๐ ๐
โฉ ๐ ๐ฌ ๐.
-
-๐ โฉ๏ธ ๐ข, FastAPI ๐ โ ๐ ๐ฌ ๐ & โ ๐ญ โซ๏ธ ๐ป โฎ๏ธ ๐ป, โ๏ธ ๐ [๐ป ๐ ๐ข](../tutorial/encoder.md){.internal-link target=_blank} ๐ฌ ๐ฐ. ๐ โซ๏ธโ โ ๐ ๐จ **โ ๐**, ๐ผ ๐ฝ ๐ท.
-
-โ๏ธ ๐ฅ ๐ ๐ฏ ๐ ๐ ๐ ๐ ๐ฌ **๐ป โฎ๏ธ ๐ป**, ๐ ๐ช ๐ถโโ๏ธ โซ๏ธ ๐ ๐จ ๐ & โ โ ๐ฅ ๐ FastAPI ๐ โ๏ธ ๐ถโโ๏ธ ๐ ๐จ ๐ ๐ `jsonable_encoder` โญ ๐ถโโ๏ธ โซ๏ธ ๐จ ๐.
-
-{* ../../docs_src/custom_response/tutorial001b.py hl[2,7] *}
-
-/// info
-
-๐ข `response_class` ๐ โ๏ธ ๐ฌ "๐ป ๐" ๐จ.
-
-๐ ๐ผ, ๐บ๐ธ๐ ๐ `Content-Type` ๐ โ `application/json`.
-
- & โซ๏ธ ๐ ๐ โ
๐.
-
-///
-
-/// tip
-
-`ORJSONResponse` โณ ๐ด ๐ช FastAPI, ๐ซ ๐.
-
-///
-
-## ๐ธ ๐จ
-
-๐จ ๐จ โฎ๏ธ ๐ธ ๐ โช๏ธโก๏ธ **FastAPI**, โ๏ธ `HTMLResponse`.
-
-* ๐ `HTMLResponse`.
-* ๐ถโโ๏ธ `HTMLResponse` ๐ข `response_class` ๐ *โก ๐ ๏ธ ๐จโ๐จ*.
-
-{* ../../docs_src/custom_response/tutorial002.py hl[2,7] *}
-
-/// info
-
-๐ข `response_class` ๐ โ๏ธ ๐ฌ "๐ป ๐" ๐จ.
-
-๐ ๐ผ, ๐บ๐ธ๐ ๐ `Content-Type` ๐ โ `text/html`.
-
- & โซ๏ธ ๐ ๐ โ
๐.
-
-///
-
-### ๐จ `Response`
-
-๐ [๐จ ๐จ ๐](response-directly.md){.internal-link target=_blank}, ๐ ๐ช ๐ ๐จ ๐ ๐ *โก ๐ ๏ธ*, ๐ฌ โซ๏ธ.
-
-๐ ๐ผ โช๏ธโก๏ธ ๐, ๐ฌ `HTMLResponse`, ๐ช ๐ ๐:
-
-{* ../../docs_src/custom_response/tutorial003.py hl[2,7,19] *}
-
-/// warning
-
-`Response` ๐จ ๐ ๐ *โก ๐ ๏ธ ๐ข* ๐ ๐ซ ๐ ๐ (๐ผ, `Content-Type` ๐ ๐ซ ๐) & ๐ ๐ซ โญ ๐ง ๐ ๐ฉบ.
-
-///
-
-/// info
-
-โ๏ธ, โ `Content-Type` ๐, ๐ ๐, โ๏ธ, ๐ ๐ โช๏ธโก๏ธ `Response` ๐ ๐ ๐จ.
-
-///
-
-### ๐ ๐ & ๐ `Response`
-
-๐ฅ ๐ ๐ ๐ ๐จ โช๏ธโก๏ธ ๐ ๐ข โ๏ธ ๐ ๐ฐ ๐ "๐ป ๐" ๐, ๐ ๐ช โ๏ธ `response_class` ๐ข & ๐จ `Response` ๐.
-
-`response_class` ๐ โคด๏ธ โ๏ธ ๐ด ๐ ๐ *โก ๐ ๏ธ*, โ๏ธ ๐ `Response` ๐ โ๏ธ.
-
-#### ๐จ `HTMLResponse` ๐
-
-๐ผ, โซ๏ธ ๐ช ๐ณ ๐:
-
-{* ../../docs_src/custom_response/tutorial004.py hl[7,21,23] *}
-
-๐ ๐ผ, ๐ข `generate_html_response()` โช ๐ & ๐จ `Response` โฉ๏ธ ๐ฌ ๐ธ `str`.
-
-๐ฌ ๐ ๐ค `generate_html_response()`, ๐ โช ๐ฌ `Response` ๐ ๐ ๐ ๐ข **FastAPI** ๐ญ.
-
-โ๏ธ ๐ ๐ถโโ๏ธ `HTMLResponse` `response_class` ๐โโ๏ธ, **FastAPI** ๐ ๐ญ โ ๐ โซ๏ธ ๐ & ๐ ๐ฉบ ๐ธ โฎ๏ธ `text/html`:
-
-
-
-## ๐ช ๐จ
-
-๐ฅ ๐ช ๐จ.
-
-โ๏ธ ๐คฏ ๐ ๐ ๐ช โ๏ธ `Response` ๐จ ๐ณ ๐, โ๏ธ โ ๐ ๐ง-๐.
-
-/// note | ๐ก โน
-
-๐ ๐ช โ๏ธ `from starlette.responses import HTMLResponse`.
-
-**FastAPI** ๐ ๐ `starlette.responses` `fastapi.responses` ๐ช ๐, ๐ฉโ๐ป. โ๏ธ ๐
๐ช ๐จ ๐ ๐ โช๏ธโก๏ธ ๐.
-
-///
-
-### `Response`
-
-๐ `Response` ๐, ๐ ๐ ๐จ ๐ โช๏ธโก๏ธ โซ๏ธ.
-
-๐ ๐ช ๐จ โซ๏ธ ๐.
-
-โซ๏ธ ๐ซ ๐ ๐ข:
-
-* `content` - `str` โ๏ธ `bytes`.
-* `status_code` - `int` ๐บ๐ธ๐ ๐ ๐.
-* `headers` - `dict` ๐ป.
-* `media_type` - `str` ๐ค ๐ป ๐. ๐คถ โ. `"text/html"`.
-
-FastAPI (๐ค ๐) ๐ ๐ ๐ ๐-๐ ๐. โซ๏ธ ๐ ๐ ๐-๐ ๐, โ๏ธ ๐ = & ๐ = โ ๐.
-
-{* ../../docs_src/response_directly/tutorial002.py hl[1,18] *}
-
-### `HTMLResponse`
-
-โ โ โ๏ธ ๐ข & ๐จ ๐ธ ๐จ, ๐ โ ๐.
-
-### `PlainTextResponse`
-
-โ โ โ๏ธ ๐ข & ๐จ โ
โ ๐จ.
-
-{* ../../docs_src/custom_response/tutorial005.py hl[2,7,9] *}
-
-### `JSONResponse`
-
-โ ๐ฝ & ๐จ `application/json` ๐ ๐จ.
-
-๐ ๐ข ๐จ โ๏ธ **FastAPI**, ๐ โ ๐.
-
-### `ORJSONResponse`
-
-โฉ ๐ ๐ป ๐จ โ๏ธ `orjson`, ๐ โ ๐.
-
-### `UJSONResponse`
-
-๐ ๐ป ๐จ โ๏ธ `ujson`.
-
-/// warning
-
-`ujson` ๐ ๐ ๐ ๐ ๐-๐ ๏ธ โ โซ๏ธ ๐ต ๐-๐ผ.
-
-///
-
-{* ../../docs_src/custom_response/tutorial001.py hl[2,7] *}
-
-/// tip
-
-โซ๏ธ ๐ช ๐ `ORJSONResponse` ๐ช โฉ ๐.
-
-///
-
-### `RedirectResponse`
-
-๐จ ๐บ๐ธ๐ โ. โ๏ธ 3๏ธโฃ0๏ธโฃ7๏ธโฃ ๐ ๐ (๐ โ) ๐ข.
-
-๐ ๐ช ๐จ `RedirectResponse` ๐:
-
-{* ../../docs_src/custom_response/tutorial006.py hl[2,9] *}
-
----
-
-โ๏ธ ๐ ๐ช โ๏ธ โซ๏ธ `response_class` ๐ข:
-
-
-{* ../../docs_src/custom_response/tutorial006b.py hl[2,7,9] *}
-
-๐ฅ ๐ ๐, โคด๏ธ ๐ ๐ช ๐จ ๐ ๐ โช๏ธโก๏ธ ๐ *โก ๐ ๏ธ* ๐ข.
-
-๐ ๐ผ, `status_code` โ๏ธ ๐ ๐ข 1๏ธโฃ `RedirectResponse`, โ `307`.
-
----
-
-๐ ๐ช โ๏ธ `status_code` ๐ข ๐ โฎ๏ธ `response_class` ๐ข:
-
-{* ../../docs_src/custom_response/tutorial006c.py hl[2,7,9] *}
-
-### `StreamingResponse`
-
-โ ๐ ๐ โ๏ธ ๐ ๐/๐ป & ๐ ๐จ ๐ช.
-
-{* ../../docs_src/custom_response/tutorial007.py hl[2,14] *}
-
-#### โ๏ธ `StreamingResponse` โฎ๏ธ ๐-๐ ๐
-
-๐ฅ ๐ โ๏ธ ๐-๐ ๐ (โ
๐ ๐จ `open()`), ๐ ๐ช โ ๐ ๐ข ๐ ๐คญ ๐ ๐-๐ ๐.
-
-๐ ๐, ๐ ๐ซ โ๏ธ โ โซ๏ธ ๐ ๐ฅ ๐พ, & ๐ ๐ช ๐ถโโ๏ธ ๐ ๐ ๐ข `StreamingResponse`, & ๐จ โซ๏ธ.
-
-๐ ๐ ๐ ๐ ๐ โฎ๏ธ โ ๐พ, ๐น ๐ญ, & ๐.
-
-```{ .python .annotate hl_lines="2 10-12 14" }
-{!../../docs_src/custom_response/tutorial008.py!}
-```
-
-1๏ธโฃ. ๐ ๐ ๐ข. โซ๏ธ "๐ ๐ข" โฉ๏ธ โซ๏ธ ๐ `yield` ๐ ๐.
-2๏ธโฃ. โ๏ธ `with` ๐ซ, ๐ฅ โ ๐ญ ๐ ๐-๐ ๐ ๐ช โฎ๏ธ ๐ ๐ข ๐จ. , โฎ๏ธ โซ๏ธ ๐ ๐จ ๐จ.
-3๏ธโฃ. ๐ `yield from` ๐ฌ ๐ข ๐ ๐คญ ๐ ๐ ๐ `file_like`. & โคด๏ธ, ๐ ๐ ๐, ๐พ ๐ ๐ ๐ โช๏ธโก๏ธ ๐ ๐ ๐ข.
-
- , โซ๏ธ ๐ ๐ข ๐ ๐จ "๐ญ" ๐ท ๐ณ ๐ ๐.
-
- ๐จ โซ๏ธ ๐ ๐, ๐ฅ ๐ช ๐ฎ โซ๏ธ `with` ๐ซ, & ๐ ๐, ๐ ๐ โซ๏ธ ๐ช โฎ๏ธ ๐.
-
-/// tip
-
-๐ ๐ ๐ฅ ๐ฅ โ๏ธ ๐ฉ `open()` ๐ ๐ซ ๐โ๐ฆบ `async` & `await`, ๐ฅ ๐ฃ โก ๐ ๏ธ โฎ๏ธ ๐ `def`.
-
-///
-
-### `FileResponse`
-
-๐ ๐ ๐ ๐จ.
-
-โ ๐ โ โ ๐ ๐ ๐ ๐จ ๐:
-
-* `path` - ๐ ๐ ๐.
-* `headers` - ๐ ๐ ๐ ๐, ๐.
-* `media_type` - ๐ป ๐ค ๐ป ๐. ๐ฅ ๐ข, ๐ โ๏ธ โก ๐ โ๏ธ ๐ ๐ป ๐.
-* `filename` - ๐ฅ โ, ๐ ๐ ๐ ๐จ `Content-Disposition`.
-
-๐ ๐จ ๐ ๐ โ `Content-Length`, `Last-Modified` & `ETag` ๐.
-
-{* ../../docs_src/custom_response/tutorial009.py hl[2,10] *}
-
-๐ ๐ช โ๏ธ `response_class` ๐ข:
-
-{* ../../docs_src/custom_response/tutorial009b.py hl[2,8,10] *}
-
-๐ ๐ผ, ๐ ๐ช ๐จ ๐ โก ๐ โช๏ธโก๏ธ ๐ *โก ๐ ๏ธ* ๐ข.
-
-## ๐ ๐จ ๐
-
-๐ ๐ช โ ๐ ๐ ๐ ๐จ ๐, ๐ โช๏ธโก๏ธ `Response` & โ๏ธ โซ๏ธ.
-
-๐ผ, โก๏ธ ๐ฌ ๐ ๐ ๐ โ๏ธ `orjson`, โ๏ธ โฎ๏ธ ๐ โ ๐ซ โ๏ธ ๐ `ORJSONResponse` ๐.
-
-โก๏ธ ๐ฌ ๐ ๐ โซ๏ธ ๐จ ๐ & ๐ ๐ป, ๐ ๐ โ๏ธ Orjson ๐ `orjson.OPT_INDENT_2`.
-
-๐ ๐ช โ `CustomORJSONResponse`. ๐ ๐ ๐ โ๏ธ โ `Response.render(content)` ๐ฉโ๐ฌ ๐ ๐จ ๐ `bytes`:
-
-{* ../../docs_src/custom_response/tutorial009c.py hl[9:14,17] *}
-
-๐ โฉ๏ธ ๐ฌ:
-
-```json
-{"message": "Hello World"}
-```
-
-...๐ ๐จ ๐ ๐จ:
-
-```json
-{
- "message": "Hello World"
-}
-```
-
-โ๏ธ, ๐ ๐ ๐ฒ ๐ ๐
๐ ๐ โ ๐ ๐ ๐ โ ๐ป. ๐ถ
-
-## ๐ข ๐จ ๐
-
-๐โ ๐ **FastAPI** ๐ ๐ โ๏ธ `APIRouter` ๐ ๐ช โ โ ๐จ ๐ โ๏ธ ๐ข.
-
-๐ข ๐ ๐ฌ ๐ `default_response_class`.
-
-๐ผ ๐, **FastAPI** ๐ โ๏ธ `ORJSONResponse` ๐ข, ๐ *โก ๐ ๏ธ*, โฉ๏ธ `JSONResponse`.
-
-{* ../../docs_src/custom_response/tutorial010.py hl[2,4] *}
-
-/// tip
-
-๐ ๐ช ๐ `response_class` *โก ๐ ๏ธ* โญ.
-
-///
-
-## ๐ ๐งพ
-
-๐ ๐ช ๐ฃ ๐ป ๐ & ๐ ๐ โน ๐ โ๏ธ `responses`: [๐ ๐จ ๐](additional-responses.md){.internal-link target=_blank}.
diff --git a/docs/em/docs/advanced/dataclasses.md b/docs/em/docs/advanced/dataclasses.md
deleted file mode 100644
index 4dd597262..000000000
--- a/docs/em/docs/advanced/dataclasses.md
+++ /dev/null
@@ -1,97 +0,0 @@
-# โ๏ธ ๐ป
-
-FastAPI ๐ ๐ ๐ **Pydantic**, & ๐ค โ๏ธ ๐ ๐ โ โ๏ธ Pydantic ๐ท ๐ฃ ๐จ & ๐จ.
-
-โ๏ธ FastAPI ๐โ๐ฆบ โ๏ธ `dataclasses` ๐ ๐:
-
-{* ../../docs_src/dataclasses/tutorial001.py hl[1,7:12,19:20] *}
-
-๐ ๐โ๐ฆบ ๐ **Pydantic**, โซ๏ธ โ๏ธ ๐ ๐โ๐ฆบ `dataclasses`.
-
-, โฎ๏ธ ๐ ๐ ๐ ๐ซ โ๏ธ Pydantic ๐ฏ, FastAPI โ๏ธ Pydantic ๐ ๐ ๐ฉ ๐ป Pydantic ๐ ๐ ๐ป.
-
-& โ๏ธ, โซ๏ธ ๐โ๐ฆบ ๐:
-
-* ๐ฝ ๐ฌ
-* ๐ฝ ๐ ๏ธ
-* ๐ฝ ๐งพ, โ๏ธ.
-
-๐ ๐ท ๐ ๐ โฎ๏ธ Pydantic ๐ท. & โซ๏ธ ๐ค ๐ ๐ ๐ ๐, โ๏ธ Pydantic.
-
-/// info
-
-โ๏ธ ๐คฏ ๐ ๐ป ๐ช ๐ซ ๐ Pydantic ๐ท ๐ช.
-
-, ๐ 5๏ธโฃ๐ ๐ช โ๏ธ Pydantic ๐ท.
-
-โ๏ธ ๐ฅ ๐ โ๏ธ ๐ ๐ป ๐คฅ ๐คญ, ๐ ๐ ๐ฑ โ๏ธ ๐ซ ๐๏ธ ๐ธ ๐ ๏ธ โ๏ธ FastAPI. ๐ถ
-
-///
-
-## ๐ป `response_model`
-
-๐ ๐ช โ๏ธ `dataclasses` `response_model` ๐ข:
-
-{* ../../docs_src/dataclasses/tutorial002.py hl[1,7:13,19] *}
-
-๐ป ๐ ๐ ๐ Pydantic ๐ป.
-
-๐ ๐, ๐ฎ ๐ ๐ ๐ฆ ๐ ๐ ๏ธ ๐ฉบ ๐ฉโ๐ป ๐ข:
-
-
-
-## ๐ป ๐ ๐ ๐
-
-๐ ๐ช ๐ `dataclasses` โฎ๏ธ ๐ ๐ โ โ ๐ฆ ๐ ๐.
-
-๐ผ, ๐ ๐ช โ๏ธ โ๏ธ Pydantic โฌ `dataclasses`. ๐ผ, ๐ฅ ๐ โ๏ธ โ โฎ๏ธ ๐ ๐ ๐ ๏ธ ๐งพ.
-
-๐ ๐ผ, ๐ ๐ช ๐ฏ ๐ฑ ๐ฉ `dataclasses` โฎ๏ธ `pydantic.dataclasses`, โ ๐ง-โป:
-
-```{ .python .annotate hl_lines="1 5 8-11 14-17 23-25 28" }
-{!../../docs_src/dataclasses/tutorial003.py!}
-```
-
-1๏ธโฃ. ๐ฅ ๐ `field` โช๏ธโก๏ธ ๐ฉ `dataclasses`.
-
-2๏ธโฃ. `pydantic.dataclasses` ๐ง-โป `dataclasses`.
-
-3๏ธโฃ. `Author` ๐ป ๐ ๐ `Item` ๐ป.
-
-4๏ธโฃ. `Author` ๐ป โ๏ธ `response_model` ๐ข.
-
-5๏ธโฃ. ๐ ๐ช โ๏ธ ๐ ๐ฉ ๐ โ โฎ๏ธ ๐ป ๐จ ๐ช.
-
- ๐ ๐ผ, โซ๏ธ ๐ `Item` ๐ป.
-
-6๏ธโฃ. ๐ฅ ๐ฅ ๐ฌ ๐ ๐ ๐ `items` โ ๐ ๐ป.
-
- FastAPI ๐ฏ โ ๐ฝ ๐ป.
-
-7๏ธโฃ. ๐ฅ `response_model` โ๏ธ ๐ โ ๐ `Author` ๐ป.
-
- ๐, ๐ ๐ช ๐ `dataclasses` โฎ๏ธ ๐ฉ ๐ โ.
-
-8๏ธโฃ. ๐ ๐ ๐ *โก ๐ ๏ธ ๐ข* โ๏ธ ๐ฅ `def` โฉ๏ธ `async def`.
-
- ๐ง, FastAPI ๐ ๐ช ๐ `def` & `async def` ๐ช.
-
- ๐ฅ ๐ ๐ช โ๏ธ ๐ ๐โ โ๏ธ โ, โ
๐
๐ _"๐ โ" _ ๐ฉบ ๐ `async` & `await`.
-
-9๏ธโฃ. ๐ *โก ๐ ๏ธ ๐ข* ๐ซ ๐ฌ ๐ป (๐ โซ๏ธ ๐ช), โ๏ธ ๐ ๐ โฎ๏ธ ๐ ๐ฝ.
-
- FastAPI ๐ โ๏ธ `response_model` ๐ข (๐ ๐ ๐ป) ๐ ๐จ.
-
-๐ ๐ช ๐ `dataclasses` โฎ๏ธ ๐ ๐ โ ๐ ๐ ๐ ๐จ ๐ ๐ ๐.
-
-โ
-๐ โ ๐โโ ๐ ๐ ๐
๐ฏ โน.
-
-## ๐ก ๐
-
-๐ ๐ช ๐ `dataclasses` โฎ๏ธ ๐ Pydantic ๐ท, ๐ โช๏ธโก๏ธ ๐ซ, ๐ ๐ซ ๐ ๐ ๐ท, โ๏ธ.
-
-๐ก ๐
, โ
Pydantic ๐ฉบ ๐ ๐ป.
-
-## โฌ
-
-๐ ๐ช โฉ๏ธ FastAPI โฌ `0.67.0`. ๐ถ
diff --git a/docs/em/docs/advanced/events.md b/docs/em/docs/advanced/events.md
deleted file mode 100644
index dcaac710e..000000000
--- a/docs/em/docs/advanced/events.md
+++ /dev/null
@@ -1,163 +0,0 @@
-# ๐ ๐
-
-๐ ๐ช ๐ฌ โ (๐) ๐ ๐ ๐ ๏ธ โญ ๐ธ **โถ๏ธ ๐**. ๐ โ ๐ ๐ ๐ ๐ ๐ ๏ธ **๐**, **โญ** ๐ธ **โถ๏ธ ๐จ ๐จ**.
-
-๐ ๐, ๐ ๐ช ๐ฌ โ (๐) ๐ ๐ ๐ ๏ธ ๐โ ๐ธ **๐คซ ๐ฝ**. ๐ ๐ผ, ๐ ๐ ๐ ๐ ๏ธ **๐**, **โฎ๏ธ** โ๏ธ ๐ต ๐ฒ **๐ ๐จ**.
-
-โฉ๏ธ ๐ ๐ ๐ ๏ธ โญ ๐ธ **โถ๏ธ** โ ๐จ, & โถ๏ธ๏ธ โฎ๏ธ โซ๏ธ **๐** ๐ ๐จ, โซ๏ธ ๐ ๐ ๐ธ **๐** (๐ค "๐" ๐ โ ๐ฅ ๐ถ).
-
-๐ ๐ช ๐ถ โ โ ๐ **โน** ๐ ๐ ๐ช โ๏ธ ๐ ๐ฑ, & ๐ **๐ฐ** ๐ช ๐จ, &/โ๏ธ ๐ ๐ ๐ช **๐งน ๐** โฎ๏ธ. ๐ผ, ๐ฝ ๐ ๐ฑ, โ๏ธ ๐ ๐ ๐ฐ ๐ซ ๐ท.
-
-## โ๏ธ ๐ผ
-
-โก๏ธ โถ๏ธ โฎ๏ธ ๐ผ **โ๏ธ ๐ผ** & โคด๏ธ ๐ โ โ โซ๏ธ โฎ๏ธ ๐.
-
-โก๏ธ ๐ ๐ ๐ โ๏ธ **๐ฐ ๐ซ ๐ท** ๐ ๐ ๐ โ๏ธ ๐ต ๐จ. ๐ถ
-
-๐ ๐ท ๐ ๐ช ๐จ,, โซ๏ธ ๐ซ 1๏ธโฃ ๐ท ๐ ๐จ, โ๏ธ 1๏ธโฃ ๐ ๐ฉโ๐ป โ๏ธ ๐ณ ๐.
-
-โก๏ธ ๐ ๐ ๐ ๐ท ๐ช **โ ๐ฐ**, โฉ๏ธ โซ๏ธ โ๏ธ โ ๐ **๐ฝ โช๏ธโก๏ธ ๐พ**. ๐ ๐ซ ๐ โซ๏ธ ๐ ๐จ.
-
-๐ ๐ช ๐ โซ๏ธ ๐ ๐ ๐น/๐, โ๏ธ ๐ ๐ โ ๐ โซ๏ธ ๐ **๐ ๐ท** ๐ฅ ๐ ๐โโ ๐
๐ง ๐ฏ, โคด๏ธ ๐ ๐ฏ ๐ **๐** โฉ๏ธ โซ๏ธ ๐ โ๏ธ โ ๐ท ๐ โญ ๐โโ ๐ช ๐ ๐ฌ ๐ ๐.
-
-๐ โซ๏ธโ ๐ฅ ๐ โ, โก๏ธ ๐ ๐ท โญ ๐จ ๐ต, โ๏ธ ๐ด โถ๏ธ๏ธ โญ ๐ธ โถ๏ธ ๐จ ๐จ, ๐ซ โช ๐ โ ๐.
-
-## ๐
-
-๐ ๐ช ๐ฌ ๐ *๐ด* & *๐คซ* โ โ๏ธ `lifespan` ๐ข `FastAPI` ๐ฑ, & "๐ ๐จโ๐ผ" (๐ค ๐ ๐ฆ ๐ โซ๏ธโ ๐ ๐ฅ).
-
-โก๏ธ โถ๏ธ โฎ๏ธ ๐ผ & โคด๏ธ ๐ โซ๏ธ โน.
-
-๐ฅ โ ๐ ๐ข `lifespan()` โฎ๏ธ `yield` ๐ ๐:
-
-{* ../../docs_src/events/tutorial003.py hl[16,19] *}
-
-๐ฅ ๐ฅ โ ๐ฅ *๐ด* ๐ ๏ธ ๐ ๐ท ๐ฎ (โ) ๐ท ๐ข ๐ โฎ๏ธ ๐ฐ ๐ซ ๐ท โญ `yield`. ๐ ๐ ๐ ๐ ๏ธ **โญ** ๐ธ **โถ๏ธ โ ๐จ**, โฎ๏ธ *๐ด*.
-
-& โคด๏ธ, โถ๏ธ๏ธ โฎ๏ธ `yield`, ๐ฅ ๐ ๐ท. ๐ ๐ ๐ ๐ ๏ธ **โฎ๏ธ** ๐ธ **๐ ๐ ๐จ**, โถ๏ธ๏ธ โญ *๐คซ*. ๐ ๐ช, ๐ผ, ๐ โน ๐ ๐พ โ๏ธ ๐ป.
-
-/// tip
-
-`shutdown` ๐ ๐จ ๐โ ๐ **โ๏ธ** ๐ธ.
-
-๐ฒ ๐ ๐ช โถ๏ธ ๐ โฌ, โ๏ธ ๐ ๐ค ๐ก ๐ โซ๏ธ. ๐คท
-
-///
-
-### ๐ ๐ข
-
-๐ฅ ๐ ๐, ๐ ๐ฅ โ ๐ ๐ข โฎ๏ธ `yield`. ๐ ๐ถ ๐ ๐ โฎ๏ธ `yield`.
-
-{* ../../docs_src/events/tutorial003.py hl[14:19] *}
-
-๐ฅ ๐ ๐ข, โญ `yield`, ๐ ๐ ๏ธ **โญ** ๐ธ โถ๏ธ.
-
-& ๐ โฎ๏ธ `yield` ๐ ๐ ๏ธ **โฎ๏ธ** ๐ธ โ๏ธ ๐.
-
-### ๐ ๐ ๐จโ๐ผ
-
-๐ฅ ๐ โ
, ๐ข ๐ โฎ๏ธ `@asynccontextmanager`.
-
-๐ ๐ ๐ข ๐ ๐ณ ๐ค "**๐ ๐ ๐จโ๐ผ**".
-
-{* ../../docs_src/events/tutorial003.py hl[1,13] *}
-
-**๐ ๐จโ๐ผ** ๐ ๐ณ ๐ ๐ ๐ช โ๏ธ `with` ๐, ๐ผ, `open()` ๐ช โ๏ธ ๐ ๐จโ๐ผ:
-
-```Python
-with open("file.txt") as file:
- file.read()
-```
-
-โฎ๏ธ โฌ ๐, ๐ค **๐ ๐ ๐จโ๐ผ**. ๐ ๐ โ๏ธ โซ๏ธ โฎ๏ธ `async with`:
-
-```Python
-async with lifespan(app):
- await do_stuff()
-```
-
-๐โ ๐ โ ๐ ๐จโ๐ผ โ๏ธ ๐ ๐ ๐จโ๐ผ ๐ ๐, โซ๏ธโ โซ๏ธ ๐จ ๐, โญ ๐ฌ `with` ๐ซ, โซ๏ธ ๐ ๐ ๏ธ ๐ โญ `yield`, & โฎ๏ธ โ `with` ๐ซ, โซ๏ธ ๐ ๐ ๏ธ ๐ โฎ๏ธ `yield`.
-
-๐ ๐ ๐ผ ๐, ๐ฅ ๐ซ โ๏ธ โซ๏ธ ๐, โ๏ธ ๐ฅ ๐ถโโ๏ธ โซ๏ธ FastAPI โซ๏ธ โ๏ธ โซ๏ธ.
-
-`lifespan` ๐ข `FastAPI` ๐ฑ โ **๐ ๐ ๐จโ๐ผ**, ๐ฅ ๐ช ๐ถโโ๏ธ ๐ ๐ `lifespan` ๐ ๐ ๐จโ๐ผ โซ๏ธ.
-
-{* ../../docs_src/events/tutorial003.py hl[22] *}
-
-## ๐ ๐ (๐ข)
-
-/// warning
-
-๐ ๐ ๐ต *๐ด* & *๐คซ* โ๏ธ `lifespan` ๐ข `FastAPI` ๐ฑ ๐ฌ ๐.
-
-๐ ๐ช ๐ฒ ๐ถ ๐ ๐.
-
-///
-
-๐ค ๐ ๐ ๐ฌ ๐ โ ๐ ๏ธ โฎ๏ธ *๐ด* & โฎ๏ธ *๐คซ*.
-
-๐ ๐ช ๐ฌ ๐ ๐โ๐ฆบ (๐ข) ๐ ๐ช ๐ ๏ธ โญ ๐ธ โถ๏ธ ๐, โ๏ธ ๐โ ๐ธ ๐คซ ๐ฝ.
-
-๐ซ ๐ข ๐ช ๐ฃ โฎ๏ธ `async def` โ๏ธ ๐ `def`.
-
-### `startup` ๐
-
-๐ฎ ๐ข ๐ ๐ ๐ โญ ๐ธ โถ๏ธ, ๐ฃ โซ๏ธ โฎ๏ธ ๐ `"startup"`:
-
-{* ../../docs_src/events/tutorial001.py hl[8] *}
-
-๐ ๐ผ, `startup` ๐ ๐โ๐ฆบ ๐ข ๐ ๐ข ๐ฌ "๐ฝ" ( `dict`) โฎ๏ธ ๐ฒ.
-
-๐ ๐ช ๐ฎ ๐
๐ 1๏ธโฃ ๐ ๐โ๐ฆบ ๐ข.
-
-& ๐ ๐ธ ๐ ๐ซ โถ๏ธ ๐จ ๐จ โญ ๐ `startup` ๐ ๐โ๐ฆบ โ๏ธ ๐.
-
-### `shutdown` ๐
-
-๐ฎ ๐ข ๐ ๐ ๐ ๐โ ๐ธ ๐คซ ๐ฝ, ๐ฃ โซ๏ธ โฎ๏ธ ๐ `"shutdown"`:
-
-{* ../../docs_src/events/tutorial002.py hl[6] *}
-
-๐ฅ, `shutdown` ๐ ๐โ๐ฆบ ๐ข ๐ โ โ โธ `"Application shutdown"` ๐ `log.txt`.
-
-/// info
-
-`open()` ๐ข, `mode="a"` โ "๐ป",, โธ ๐ ๐ฎ โฎ๏ธ โซ๏ธโ ๐ ๐ ๐, ๐ต ๐ โฎ๏ธ ๐.
-
-///
-
-/// tip
-
-๐ ๐ ๐ ๐ผ ๐ฅ โ๏ธ ๐ฉ ๐ `open()` ๐ข ๐ ๐ โฎ๏ธ ๐.
-
-, โซ๏ธ ๐ ๐ค/๐
พ (๐ข/๐ข), ๐ ๐ "โ" ๐ โ ๐พ.
-
-โ๏ธ `open()` ๐ซ โ๏ธ `async` & `await`.
-
-, ๐ฅ ๐ฃ ๐ ๐โ๐ฆบ ๐ข โฎ๏ธ ๐ฉ `def` โฉ๏ธ `async def`.
-
-///
-
-/// info
-
-๐ ๐ช โ ๐
๐ ๐ซ ๐ ๐โ๐ฆบ ๐ ๐' ๐ฉบ.
-
-///
-
-### `startup` & `shutdown` ๐ฏโโ๏ธ
-
-๐ค โ ๐ค ๐ โ ๐ *๐ด* & *๐คซ* ๐, ๐ ๐ช ๐ โถ๏ธ ๐ณ & โคด๏ธ ๐ โซ๏ธ, ๐ โน & โคด๏ธ ๐ โซ๏ธ, โ๏ธ.
-
-๐จ ๐ ๐ฝ ๐ข ๐ ๐ซ ๐ฐ โ โ๏ธ ๐ข ๐ฏโโ๏ธ ๐
โ ๐ ๐ ๐ช ๐ช ๐ฒ ๐ ๐ข โ๏ธ ๐ ๐ฑ.
-
-โฉ๏ธ ๐, โซ๏ธ ๐ ๐ โฉ๏ธ โ๏ธ `lifespan` ๐ฌ ๐.
-
-## ๐ก โน
-
-๐ก โน ๐ ๐ค. ๐ถ
-
-๐, ๐ซ ๐ก ๐ง, ๐ ๐ ๐ ๐ ๏ธ, & โซ๏ธ ๐ฌ ๐ ๐ค `startup` & `shutdown`.
-
-## ๐ง ๐ธ
-
-๐ถ โ๏ธ ๐คฏ ๐ ๐ซ ๐ ๐ (๐ด & ๐คซ) ๐ ๐ด ๐ ๏ธ ๐ ๐ธ, ๐ซ [๐ง ๐ธ - ๐ป](sub-applications.md){.internal-link target=_blank}.
diff --git a/docs/em/docs/advanced/generate-clients.md b/docs/em/docs/advanced/generate-clients.md
deleted file mode 100644
index a680c9051..000000000
--- a/docs/em/docs/advanced/generate-clients.md
+++ /dev/null
@@ -1,238 +0,0 @@
-# ๐ ๐ฉโ๐ป
-
-**FastAPI** โ๏ธ ๐ ๐ ๐ง, ๐ ๐ค ๐ง ๐ โฎ๏ธ ๐ ๐งฐ, ๐ ๐ง ๐ ๏ธ ๐ฉบ (๐ ๐ฆ ๐).
-
-1๏ธโฃ ๐ฏ ๐ ๐ ๐ซ ๐ฏ โญ ๐ ๐ ๐ช **๐ ๐ฉโ๐ป** (๐ฃ ๐ค **๐ฑ** ) ๐ ๐ ๏ธ, ๐ ๐ **๐ ๏ธ ๐ช๐ธ**.
-
-## ๐ ๐ฉโ๐ป ๐
-
-๐ค ๐ ๐งฐ ๐ ๐ฉโ๐ป โช๏ธโก๏ธ **๐**.
-
-โ ๐งฐ ๐ ๐.
-
-๐ฅ ๐ ๐ **๐ธ**, ๐ถ ๐ ๐ ๐-๐-๐ฆ๐ช.
-
-## ๐ ๐ ๐ธ ๐ฉโ๐ป
-
-โก๏ธ โถ๏ธ โฎ๏ธ ๐
FastAPI ๐ธ:
-
-{* ../../docs_src/generate_clients/tutorial001.py hl[9:11,14:15,18,19,23] *}
-
-๐ ๐ *โก ๐ ๏ธ* ๐ฌ ๐ท ๐ซ โ๏ธ ๐จ ๐ & ๐จ ๐, โ๏ธ ๐ท `Item` & `ResponseMessage`.
-
-### ๐ ๏ธ ๐ฉบ
-
-๐ฅ ๐ ๐ถ ๐ ๏ธ ๐ฉบ, ๐ ๐ ๐ ๐ โซ๏ธ โ๏ธ **๐** ๐ ๐จ ๐จ & ๐จ ๐จ:
-
-
-
-๐ ๐ช ๐ ๐ ๐ โฉ๏ธ ๐ซ ๐ฃ โฎ๏ธ ๐ท ๐ฑ.
-
-๐ โน ๐ช ๐ฑ **๐ ๐**, & โคด๏ธ ๐ฆ ๐ ๏ธ ๐ฉบ (๐ฆ ๐).
-
-& ๐ ๐ โน โช๏ธโก๏ธ ๐ท ๐ ๐ ๐ โซ๏ธโ ๐ช โ๏ธ **๐ ๐ฉโ๐ป ๐**.
-
-### ๐ ๐ ๐ฉโ๐ป
-
-๐ ๐ ๐ฅ โ๏ธ ๐ฑ โฎ๏ธ ๐ท, ๐ฅ ๐ช ๐ ๐ฉโ๐ป ๐ ๐ธ.
-
-#### โ `openapi-ts`
-
-๐ ๐ช โ `openapi-ts` ๐ ๐ธ ๐ โฎ๏ธ:
-
-
-
-๐ ๐ ๐ค โ ๐ ๐จ:
-
-
-
-/// tip
-
-๐ โ `name` & `price`, ๐ ๐ฌ FastAPI ๐ธ, `Item` ๐ท.
-
-///
-
-๐ ๐ โ๏ธ โธ โ ๐ ๐ ๐ ๐จ:
-
-
-
-๐จ ๐ ๐ โ๏ธ โ:
-
-
-
-## FastAPI ๐ฑ โฎ๏ธ ๐
-
-๐ ๐ผ ๐ FastAPI ๐ฑ ๐ ๐ฆ, & ๐ ๐ ๐ฒ โ๏ธ ๐ ๐ ๐ ๐ช *โก ๐ ๏ธ*.
-
-๐ผ, ๐ ๐ช โ๏ธ ๐ **๐ฌ** & โ1๏ธโฃ ๐ **๐ฉโ๐ป**, & ๐ซ ๐ช ๐ฝ ๐:
-
-
-{* ../../docs_src/generate_clients/tutorial002.py hl[23,28,36] *}
-
-### ๐ ๐ ๐ฉโ๐ป โฎ๏ธ ๐
-
-๐ฅ ๐ ๐ ๐ฉโ๐ป FastAPI ๐ฑ โ๏ธ ๐, โซ๏ธ ๐ ๐ ๐ ๐ฉโ๐ป ๐ โ๏ธ ๐ ๐.
-
-๐ ๐ ๐ ๐ ๐ช โ๏ธ ๐ โ & ๐ช โ ๐ฉโ๐ป ๐:
-
-
-
-๐ ๐ผ ๐ โ๏ธ:
-
-* `ItemsService`
-* `UsersService`
-
-### ๐ฉโ๐ป ๐ฉโ๐ฌ ๐
-
-โถ๏ธ๏ธ ๐ ๐ ๐ฉโ๐ฌ ๐ ๐ `createItemItemsPost` ๐ซ ๐ ๐ถ ๐งน:
-
-```TypeScript
-ItemsService.createItemItemsPost({name: "Plumbus", price: 5})
-```
-
-...๐ โฉ๏ธ ๐ฉโ๐ป ๐ โ๏ธ ๐ ๐ **๐ ๏ธ ๐** ๐ *โก ๐ ๏ธ*.
-
-๐ ๐ ๐ ๐ ๐ ๏ธ ๐ ๐ ๐คญ ๐ *โก ๐ ๏ธ*, FastAPI โ๏ธ **๐ข ๐**, **โก**, & **๐บ๐ธ๐ ๐ฉโ๐ฌ/๐ ๏ธ** ๐ ๐ ๐ ๏ธ ๐, โฉ๏ธ ๐ ๐ โซ๏ธ ๐ช โ ๐ญ ๐ ๐ ๏ธ ๐ ๐.
-
-โ๏ธ ๐ค ๐ ๐ฆ ๐ โ ๐ ๐ โญ. ๐ถ
-
-## ๐ ๐ ๏ธ ๐ & ๐ ๐ฉโ๐ฌ ๐
-
-๐ ๐ช **๐** ๐ ๐ซ ๐ ๏ธ ๐ **๐** โ ๐ซ ๐
& โ๏ธ **๐
๐ฉโ๐ฌ ๐** ๐ฉโ๐ป.
-
-๐ ๐ผ ๐ ๐ โ๏ธ ๐ ๐ ๐ ๐ ๏ธ ๐ **๐** ๐ ๐.
-
-๐ผ, ๐ ๐ช โ ๐ญ ๐ ๐ *โก ๐ ๏ธ* โ๏ธ ๐, & โคด๏ธ ๐ ๐ ๏ธ ๐ โ๏ธ ๐ **๐** & *โก ๐ ๏ธ* **๐** (๐ข ๐).
-
-### ๐ ๐ ๐ ๐ ๐ข
-
-FastAPI โ๏ธ **๐ ๐** ๐ *โก ๐ ๏ธ*, โซ๏ธ โ๏ธ **๐ ๏ธ ๐** & ๐ ๐ ๐ช ๐ ๐ท, ๐จ โ๏ธ ๐จ.
-
-๐ ๐ช ๐ ๐ ๐ข. โซ๏ธ โ `APIRoute` & ๐ข ๐ป.
-
-๐ผ, ๐ฅ โซ๏ธ โ๏ธ ๐ฅ ๐ (๐ ๐ ๐ฒ โ๏ธ ๐ด 1๏ธโฃ ๐) & *โก ๐ ๏ธ* ๐ (๐ข ๐).
-
-๐ ๐ช โคด๏ธ ๐ถโโ๏ธ ๐ ๐ ๐ข **FastAPI** `generate_unique_id_function` ๐ข:
-
-{* ../../docs_src/generate_clients/tutorial003.py hl[8:9,12] *}
-
-### ๐ ๐ ๐ฉโ๐ป โฎ๏ธ ๐ ๐ ๏ธ ๐
-
-๐ ๐ฅ ๐ ๐ ๐ฉโ๐ป ๐, ๐ ๐ ๐ ๐ โซ๏ธ โ๏ธ ๐ ๐ฉโ๐ฌ ๐:
-
-
-
-๐ ๐, ๐ฉโ๐ฌ ๐ ๐ โ๏ธ ๐ & โคด๏ธ ๐ข ๐, ๐ ๐ซ ๐ซ ๐ โน โช๏ธโก๏ธ ๐ โก & ๐บ๐ธ๐ ๐ ๏ธ.
-
-### ๐ ๐ ๐ง ๐ฉโ๐ป ๐
-
-๐ ๐ โ๏ธ **โ โน**.
-
-๐ฅ โช ๐ญ ๐ ๐ ๐ฉโ๐ฌ ๐ **๐ฌ** โฉ๏ธ ๐ ๐ค `ItemsService` (โ โช๏ธโก๏ธ ๐), โ๏ธ ๐ฅ โ๏ธ ๐ ๐ก ๐ฉโ๐ฌ ๐ ๐โโ๏ธ. ๐ถ
-
-๐ฅ ๐ ๐ฒ ๐ ๐ง โซ๏ธ ๐ ๐ข, ๐ ๐ ๐ ๐ ๐ ๏ธ ๐ **๐**.
-
-โ๏ธ ๐ ๐ฉโ๐ป ๐ฅ ๐ช **๐** ๐ ๐ ๏ธ ๐ โถ๏ธ๏ธ โญ ๐ญ ๐ฉโ๐ป, โ ๐ ๐ฉโ๐ฌ ๐ ๐ & **๐งน**.
-
-๐ฅ ๐ช โฌ ๐ ๐ป ๐ `openapi.json` & โคด๏ธ ๐ฅ ๐ช **โ ๐ ๐ก ๐** โฎ๏ธ โ ๐ ๐:
-
-{* ../../docs_src/generate_clients/tutorial004.py *}
-
-โฎ๏ธ ๐, ๐ ๏ธ ๐ ๐ ๐ โช๏ธโก๏ธ ๐ ๐ `items-get_items` `get_items`, ๐ ๐ ๐ฉโ๐ป ๐ ๐ช ๐ ๐
๐ฉโ๐ฌ ๐.
-
-### ๐ ๐ ๐ฉโ๐ป โฎ๏ธ ๐ ๐
-
-๐ ๐ ๐ ๐ `openapi.json`, ๐ ๐ ๐ `package.json` โ๏ธ ๐ ๐ง๐ฟ ๐, ๐ผ:
-
-```JSON hl_lines="7"
-{
- "name": "frontend-app",
- "version": "1.0.0",
- "description": "",
- "main": "index.js",
- "scripts": {
- "generate-client": "openapi-ts --input ./openapi.json --output ./src/client --client axios"
- },
- "author": "",
- "license": "",
- "devDependencies": {
- "@hey-api/openapi-ts": "^0.27.38",
- "typescript": "^4.6.2"
- }
-}
-```
-
-โฎ๏ธ ๐ญ ๐ ๐ฉโ๐ป, ๐ ๐ ๐ โ๏ธ **๐งน ๐ฉโ๐ฌ ๐**, โฎ๏ธ ๐ **โ**, **โธ โ**, โ๏ธ:
-
-
-
-## ๐ฐ
-
-๐โ โ๏ธ ๐ ๐ ๐ฉโ๐ป ๐ ๐ **โ** :
-
-* ๐ฉโ๐ฌ.
-* ๐จ ๐ ๐ช, ๐ข ๐ข, โ๏ธ.
-* ๐จ ๐.
-
-๐ ๐ โ๏ธ **โธ โ** ๐.
-
-& ๐โ ๐ โน ๐ฉโ๐ป ๐, & **โป** ๐ธ, โซ๏ธ ๐ โ๏ธ ๐ ๐ *โก ๐ ๏ธ* ๐ช ๐ฉโ๐ฌ, ๐ ๐ โ, & ๐ ๐ ๐ ๐ ๐จ ๐ ๐ ๐. ๐ถ
-
-๐ โ ๐ ๐ฅ ๐ณ ๐ โซ๏ธ ๐ **๐จ** ๐ ๐ฉโ๐ป ๐ ๐. & ๐ฅ ๐ **๐** ๐ฉโ๐ป โซ๏ธ ๐ โ ๐
๐ฅ ๐ โ๏ธ ๐ **๐** ๐ โ๏ธ.
-
-, ๐ ๐ **๐ ๐ โ** ๐ถ โช ๐ ๏ธ ๐ต โฉ๏ธ โ๏ธ โ โ ๐ฆ ๐ ๐ ๐ ๐ฉโ๐ป ๐ญ & โคด๏ธ ๐ โน ๐โ โ . ๐ถ
diff --git a/docs/em/docs/advanced/index.md b/docs/em/docs/advanced/index.md
deleted file mode 100644
index 48ef8e46d..000000000
--- a/docs/em/docs/advanced/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# ๐ง ๐ฉโ๐ป ๐ฆฎ
-
-## ๐ โ
-
-๐ [๐ฐ - ๐ฉโ๐ป ๐ฆฎ](../tutorial/index.md){.internal-link target=_blank} ๐ ๐ฅ ๐ค ๐ ๐ซ ๐ ๐ ๐ โ **FastAPI**.
-
-โญ ๐ ๐ ๐ ๐ ๐ ๐, ๐ณ, & ๐ โ.
-
-/// tip
-
-โญ ๐ **๐ซ ๐ฏ "๐ง"**.
-
- & โซ๏ธ ๐ช ๐ ๐ โ๏ธ ๐ผ, โ 1๏ธโฃ ๐ซ.
-
-///
-
-## โ ๐ฐ ๐ฅ
-
-๐ ๐ช โ๏ธ ๐ โ **FastAPI** โฎ๏ธ ๐ก โช๏ธโก๏ธ ๐ [๐ฐ - ๐ฉโ๐ป ๐ฆฎ](../tutorial/index.md){.internal-link target=_blank}.
-
-& โญ ๐ ๐ค ๐ โช โ โซ๏ธ, & ๐ค ๐ ๐ ๐ญ ๐ ๐ ๐ญ.
-
-## ๐.๐
พ โ๏ธ
-
-๐ฅ ๐ ๐ ๐ โ ๐ง-๐ฐ โ๏ธ ๐ ๐ ๐ ๐ฉบ, ๐ ๐ช ๐ โ
: ๐ฏ-๐พ ๐ ๏ธ โฎ๏ธ FastAPI & โ **๐.๐
พ**.
-
-๐ซ โณ ๐ฉธ 1๏ธโฃ0๏ธโฃ ๐ฏ ๐ ๐ฐ ๐ ๏ธ **FastAPI**. ๐ถ ๐ถ
diff --git a/docs/em/docs/advanced/middleware.md b/docs/em/docs/advanced/middleware.md
deleted file mode 100644
index 22d707062..000000000
--- a/docs/em/docs/advanced/middleware.md
+++ /dev/null
@@ -1,95 +0,0 @@
-# ๐ง ๐ ๏ธ
-
-๐ ๐ฐ ๐ โ โ ๐ฎ [๐ ๐ ๏ธ](../tutorial/middleware.md){.internal-link target=_blank} ๐ ๐ธ.
-
-& โคด๏ธ ๐ โ โ ๐ต [โ โฎ๏ธ `CORSMiddleware`](../tutorial/cors.md){.internal-link target=_blank}.
-
-๐ ๐ ๐ฅ ๐ ๐ โ โ๏ธ ๐ ๐ ๏ธ.
-
-## โ ๐ซ ๐ ๏ธ
-
-**FastAPI** โ๏ธ ๐ ๐ & ๐ ๏ธ ๐ซ ๐ง, ๐ ๐ช โ๏ธ ๐ ๐ซ ๐ ๏ธ.
-
-๐ ๏ธ ๐ซ โ๏ธ โ FastAPI โ๏ธ ๐ ๐ท, ๐ โซ๏ธ โฉ ๐ซ ๐.
-
-๐ข, ๐ซ ๐ ๏ธ ๐ ๐ โ ๐จ ๐ซ ๐ฑ ๐ฅ โ.
-
-, ๐งพ ๐ฅ-๐ฅณ ๐ซ ๐ ๏ธ ๐ซ ๐ ๐ฒ ๐ฌ ๐ ๐ณ ๐:
-
-```Python
-from unicorn import UnicornMiddleware
-
-app = SomeASGIApp()
-
-new_app = UnicornMiddleware(app, some_config="rainbow")
-```
-
-โ๏ธ FastAPI (๐ค ๐) ๐ ๐
๐ โซ๏ธ ๐ โ ๐ญ ๐ ๐ ๐ ๏ธ ๐ต ๐ฝ โ & ๐ โ ๐โ๐ฆบ ๐ท โ.
-
-๐, ๐ โ๏ธ `app.add_middleware()` (๐ผ โ).
-
-```Python
-from fastapi import FastAPI
-from unicorn import UnicornMiddleware
-
-app = FastAPI()
-
-app.add_middleware(UnicornMiddleware, some_config="rainbow")
-```
-
-`app.add_middleware()` ๐จ ๐ ๏ธ ๐ ๐ฅ โ & ๐ ๐ โ ๐ถโโ๏ธ ๐ ๏ธ.
-
-## ๐ ๏ธ ๐ ๏ธ
-
-**FastAPI** ๐ ๐ ๐ ๏ธ โ โ๏ธ ๐ผ, ๐ฅ ๐ ๐ โญ โ โ๏ธ ๐ซ.
-
-/// note | ๐ก โน
-
-โญ ๐ผ, ๐ ๐ช โ๏ธ `from starlette.middleware.something import SomethingMiddleware`.
-
-**FastAPI** ๐ ๐ ๐ ๏ธ `fastapi.middleware` ๐ช ๐, ๐ฉโ๐ป. โ๏ธ ๐
๐ช ๐ ๏ธ ๐ ๐ โช๏ธโก๏ธ ๐.
-
-///
-
-## `HTTPSRedirectMiddleware`
-
-๐ ๏ธ ๐ ๐ ๐จ ๐จ ๐ ๐ฏโโ๏ธ `https` โ๏ธ `wss`.
-
-๐ ๐จ ๐จ `http` โ๏ธ `ws` ๐ โ ๐ โ โฉ๏ธ.
-
-{* ../../docs_src/advanced_middleware/tutorial001.py hl[2,6] *}
-
-## `TrustedHostMiddleware`
-
-๐ ๏ธ ๐ ๐ ๐จ ๐จ โ๏ธ โ โ `Host` ๐, โ ๐โโ ๐ก ๐บ๐ธ๐ ๐ฆ ๐ ๐.
-
-{* ../../docs_src/advanced_middleware/tutorial002.py hl[2,6:8] *}
-
-๐ โ ๐โ๐ฆบ:
-
-* `allowed_hosts` - ๐ ๐ ๐ ๐ ๐ โ ๐. ๐ ๐ โ
`*.example.com` ๐โ๐ฆบ ๐ ๐. โ ๐ ๐ ๐ฏโโ๏ธ โ๏ธ `allowed_hosts=["*"]` โ๏ธ ๐ซ ๐ ๏ธ.
-
-๐ฅ ๐จ ๐จ ๐จ ๐ซ โ โ โคด๏ธ `400` ๐จ ๐ ๐จ.
-
-## `GZipMiddleware`
-
-๐ต ๐ ๐จ ๐ ๐จ ๐ ๐ `"gzip"` `Accept-Encoding` ๐.
-
-๐ ๏ธ ๐ ๐ต ๐ฏโโ๏ธ ๐ฉ & ๐ฅ ๐จ.
-
-{* ../../docs_src/advanced_middleware/tutorial003.py hl[2,6] *}
-
-๐ โ ๐โ๐ฆบ:
-
-* `minimum_size` - ๐ซ ๐ ๐จ ๐ ๐คช ๐ ๐ ๐ฏ ๐ ๐ข. ๐ข `500`.
-
-## ๐ ๐ ๏ธ
-
-๐ค ๐ ๐ ๐ซ ๐ ๏ธ.
-
-๐ผ:
-
-* Uvicorn `ProxyHeadersMiddleware`
-* ๐ธ๐ฒ
-
-๐ ๐ ๐ช ๐ ๏ธ โ
๐ ๐ ๏ธ ๐ฉบ & ๐ซ ๐ ๐.
diff --git a/docs/em/docs/advanced/openapi-callbacks.md b/docs/em/docs/advanced/openapi-callbacks.md
deleted file mode 100644
index b0a821668..000000000
--- a/docs/em/docs/advanced/openapi-callbacks.md
+++ /dev/null
@@ -1,186 +0,0 @@
-# ๐ โฒ
-
-๐ ๐ช โ ๐ ๏ธ โฎ๏ธ *โก ๐ ๏ธ* ๐ ๐ช โฒ ๐จ *๐ข ๐ ๏ธ* โ ๐ฑ ๐ (๐ฒ ๐ ๐ฉโ๐ป ๐ ๐ *โ๏ธ* ๐ ๐ ๏ธ).
-
-๐ ๏ธ ๐ ๐จ ๐โ ๐ ๐ ๏ธ ๐ฑ ๐ค *๐ข ๐ ๏ธ* ๐ "โฒ". โฉ๏ธ ๐ฅ ๐ ๐ข ๐ฉโ๐ป โ ๐จ ๐จ ๐ ๐ ๏ธ & โคด๏ธ ๐ ๐ ๏ธ *๐ค ๐*, ๐จ ๐จ *๐ข ๐ ๏ธ* (๐ ๐ฒ โ ๐ ๐ฉโ๐ป).
-
-๐ ๐ผ, ๐ ๐ช ๐ ๐ โ ๐ ๐ข ๐ ๏ธ *๐* ๐ ๐. โซ๏ธโ *โก ๐ ๏ธ* โซ๏ธ ๐ โ๏ธ, โซ๏ธโ ๐ช โซ๏ธ ๐ โ, โซ๏ธโ ๐จ โซ๏ธ ๐ ๐จ, โ๏ธ.
-
-## ๐ฑ โฎ๏ธ โฒ
-
-โก๏ธ ๐ ๐ ๐ โฎ๏ธ ๐ผ.
-
-๐ ๐ ๐ ๏ธ ๐ฑ ๐ โ ๐ ๐งพ.
-
-๐ ๐งพ ๐ โ๏ธ `id`, `title` (๐ฆ), `customer`, & `total`.
-
-๐ฉโ๐ป ๐ ๐ ๏ธ (๐ข ๐ฉโ๐ป) ๐ โ ๐งพ ๐ ๐ ๏ธ โฎ๏ธ ๐ค ๐จ.
-
-โคด๏ธ ๐ ๐ ๏ธ ๐ (โก๏ธ ๐):
-
-* ๐จ ๐งพ ๐ด ๐ข ๐ฉโ๐ป.
-* ๐ ๐ธ.
-* ๐จ ๐จ ๐ ๐ ๏ธ ๐ฉโ๐ป (๐ข ๐ฉโ๐ป).
- * ๐ ๐ ๐จ ๐จ ๐ค ๐จ (โช๏ธโก๏ธ *๐ ๐ ๏ธ*) *๐ข ๐ ๏ธ* ๐ ๐ ๐ข ๐ฉโ๐ป (๐ "โฒ").
-
-## ๐ **FastAPI** ๐ฑ
-
-โก๏ธ ๐ฅ ๐ โ ๐ ๐ ๏ธ ๐ฑ ๐ ๐ ๐ โญ โ โฒ.
-
-โซ๏ธ ๐ โ๏ธ *โก ๐ ๏ธ* ๐ ๐ ๐จ `Invoice` ๐ช, & ๐ข ๐ข `callback_url` ๐ ๐ ๐ ๐ โฒ.
-
-๐ ๐ ๐ถ ๐, ๐
๐ ๐ฒ โช ๐ฐ ๐:
-
-{* ../../docs_src/openapi_callbacks/tutorial001.py hl[9:13,36:53] *}
-
-/// tip
-
-`callback_url` ๐ข ๐ข โ๏ธ Pydantic ๐ ๐.
-
-///
-
-๐ด ๐ ๐ `callbacks=messages_callback_router.routes` โ *โก ๐ ๏ธ ๐จโ๐จ*. ๐ฅ ๐ ๐ โซ๏ธโ ๐ โญ.
-
-## ๐ฌ โฒ
-
-โ โฒ ๐ ๐ ๐ช ๐ ๐ ๐ ๐ ๐ ๏ธ ๐ฑ.
-
-& โซ๏ธ ๐ ๐ฒ ๐ช ๐ โช๏ธโก๏ธ 1๏ธโฃ ๐ฑ โญ.
-
-โซ๏ธ ๐ช 1๏ธโฃ โ๏ธ 2๏ธโฃ โธ ๐, ๐:
-
-```Python
-callback_url = "https://example.com/api/v1/invoices/events/"
-httpx.post(callback_url, json={"description": "Invoice paid", "paid": True})
-```
-
-โ๏ธ ๐ฒ ๐ โ ๐ โฒ โ ๐ญ ๐ ๐ ๐ ๏ธ ๐ฉโ๐ป (๐ข ๐ฉโ๐ป) ๐ ๏ธ *๐ข ๐ ๏ธ* โ, ๐ ๐ฝ ๐ *๐ ๐ ๏ธ* ๐ ๐จ ๐จ ๐ช โฒ, โ๏ธ.
-
-, โซ๏ธโ ๐ฅ ๐ โญ ๐ฎ ๐ ๐ โ ๐ *๐ข ๐ ๏ธ* ๐ ๐ ๐ ๐จ โฒ โช๏ธโก๏ธ *๐ ๐ ๏ธ*.
-
-๐ ๐งพ ๐ ๐ฆ ๐ ๐ฆ ๐ `/docs` ๐ ๐ ๏ธ, & โซ๏ธ ๐ โก๏ธ ๐ข ๐ฉโ๐ป ๐ญ โ ๐ *๐ข ๐ ๏ธ*.
-
-๐ ๐ผ ๐ซ ๐ ๏ธ โฒ โซ๏ธ (๐ ๐ช โธ ๐), ๐ด ๐งพ ๐.
-
-/// tip
-
-โ โฒ ๐บ๐ธ๐ ๐จ.
-
-๐โ ๐ ๏ธ โฒ ๐, ๐ ๐ช โ๏ธ ๐ณ ๐ ๐ธ๐ฒ โ๏ธ ๐จ.
-
-///
-
-## โ โฒ ๐งพ ๐
-
-๐ ๐ ๐ ๐ซ ๐ ๏ธ ๐ ๐ฑ, ๐ฅ ๐ด ๐ช โซ๏ธ *๐* โ ๐ *๐ข ๐ ๏ธ* ๐ ๐ ๐.
-
-โ๏ธ, ๐ โช ๐ญ โ ๐ช โ ๐ง ๐งพ ๐ ๏ธ โฎ๏ธ **FastAPI**.
-
-๐ฅ ๐ โ๏ธ ๐ ๐ ๐ก ๐ โ *๐ข ๐ ๏ธ* ๐ ๐ ๐... ๐ *โก ๐ ๏ธ(โ)* ๐ ๐ข ๐ ๏ธ ๐ ๐ ๏ธ (๐ ๐ ๐ ๏ธ ๐ ๐ค).
-
-/// tip
-
-๐โ โ ๐ ๐ โฒ, โซ๏ธ ๐ช โ ๐ ๐ ๐ ๐ *๐ข ๐ฉโ๐ป*. & ๐ ๐ โณ ๐ ๏ธ *๐ข ๐ ๏ธ*, ๐ซ *๐ ๐ ๏ธ*.
-
-๐ ๐ ๏ธ ๐ โ ๐ ( *๐ข ๐ฉโ๐ป*) ๐ช โน ๐ ๐ญ ๐ โซ๏ธ ๐
โญ ๐โ ๐ฎ ๐ข, Pydantic ๐ท ๐ช, ๐จ, โ๏ธ. ๐ *๐ข ๐ ๏ธ*.
-
-///
-
-### โ โฒ `APIRouter`
-
-๐ฅ โ ๐ `APIRouter` ๐ ๐ ๐ 1๏ธโฃ โ๏ธ ๐
โฒ.
-
-{* ../../docs_src/openapi_callbacks/tutorial001.py hl[3,25] *}
-
-### โ โฒ *โก ๐ ๏ธ*
-
-โ โฒ *โก ๐ ๏ธ* โ๏ธ ๐ `APIRouter` ๐ โ ๐.
-
-โซ๏ธ ๐ ๐ ๐ ๐ FastAPI *โก ๐ ๏ธ*:
-
-* โซ๏ธ ๐ ๐ฒ โ๏ธ ๐ ๐ช โซ๏ธ ๐ ๐จ, โ
`body: InvoiceEvent`.
-* & โซ๏ธ ๐ช โ๏ธ ๐ ๐จ โซ๏ธ ๐ ๐จ, โ
`response_model=InvoiceEventReceived`.
-
-{* ../../docs_src/openapi_callbacks/tutorial001.py hl[16:18,21:22,28:32] *}
-
-๐ค 2๏ธโฃ ๐ ๐บ โช๏ธโก๏ธ ๐ *โก ๐ ๏ธ*:
-
-* โซ๏ธ ๐ซ ๐ช โ๏ธ ๐ โ ๐, โฉ๏ธ ๐ ๐ฑ ๐ ๐
๐ค ๐ ๐. โซ๏ธ ๐ด โ๏ธ ๐ *๐ข ๐ ๏ธ*. , ๐ข ๐ช โ๏ธ `pass`.
-* *โก* ๐ช ๐ ๐ 3๏ธโฃ ๐งฌ (๐ ๐ ๐) ๐โ โซ๏ธ ๐ช โ๏ธ ๐ข โฎ๏ธ ๐ข & ๐ โฎ๏ธ ๐จ ๐จ *๐ ๐ ๏ธ*.
-
-### โฒ โก ๐งฌ
-
-โฒ *โก* ๐ช โ๏ธ ๐ 3๏ธโฃ ๐งฌ ๐ ๐ช ๐ ๐ โฎ๏ธ ๐จ ๐จ *๐ ๐ ๏ธ*.
-
-๐ ๐ผ, โซ๏ธ `str`:
-
-```Python
-"{$callback_url}/invoices/{$request.body.id}"
-```
-
-, ๐ฅ ๐ ๐ ๏ธ ๐ฉโ๐ป (๐ข ๐ฉโ๐ป) ๐จ ๐จ *๐ ๐ ๏ธ* :
-
-```
-https://yourapi.com/invoices/?callback_url=https://www.external.org/events
-```
-
-โฎ๏ธ ๐ป ๐ช:
-
-```JSON
-{
- "id": "2expen51ve",
- "customer": "Mr. Richie Rich",
- "total": "9999"
-}
-```
-
-โคด๏ธ *๐ ๐ ๏ธ* ๐ ๐ ๏ธ ๐งพ, & โ โช, ๐จ โฒ ๐จ `callback_url` ( *๐ข ๐ ๏ธ*):
-
-```
-https://www.external.org/events/invoices/2expen51ve
-```
-
-โฎ๏ธ ๐ป ๐ช โ ๐ณ ๐:
-
-```JSON
-{
- "description": "Payment celebration",
- "paid": true
-}
-```
-
-& โซ๏ธ ๐ โ ๐จ โช๏ธโก๏ธ ๐ *๐ข ๐ ๏ธ* โฎ๏ธ ๐ป ๐ช ๐:
-
-```JSON
-{
- "ok": true
-}
-```
-
-/// tip
-
-๐ โ โฒ ๐ โ๏ธ ๐ ๐ ๐จ ๐ข ๐ข `callback_url` (`https://www.external.org/events`) & ๐งพ `id` โช๏ธโก๏ธ ๐ ๐ป ๐ช (`2expen51ve`).
-
-///
-
-### ๐ฎ โฒ ๐ป
-
-๐ โ ๐ โ๏ธ *โฒ โก ๐ ๏ธ(โ)* ๐ช (1๏ธโฃ(โ) ๐ *๐ข ๐ฉโ๐ป* ๐ ๐ ๏ธ *๐ข ๐ ๏ธ*) โฒ ๐ป ๐ โ ๐.
-
-๐ โ๏ธ ๐ข `callbacks` *๐ ๐ ๏ธ โก ๐ ๏ธ ๐จโ๐จ* ๐ถโโ๏ธ ๐ข `.routes` (๐ ๐ค `list` ๐ฃ/*โก ๐ ๏ธ*) โช๏ธโก๏ธ ๐ โฒ ๐ป:
-
-{* ../../docs_src/openapi_callbacks/tutorial001.py hl[35] *}
-
-/// tip
-
-๐ ๐ ๐ ๐ซ ๐ถโโ๏ธ ๐ป โซ๏ธ (`invoices_callback_router`) `callback=`, โ๏ธ ๐ข `.routes`, `invoices_callback_router.routes`.
-
-///
-
-### โ
๐ฉบ
-
-๐ ๐ ๐ช โถ๏ธ ๐ ๐ฑ โฎ๏ธ Uvicorn & ๐ถ http://127.0.0.1:8000/docs.
-
-๐ ๐ ๐ ๐ ๐ฉบ โ
"โฒ" ๐ ๐ *โก ๐ ๏ธ* ๐ ๐ฆ โ *๐ข ๐ ๏ธ* ๐ ๐ ๐:
-
-
diff --git a/docs/em/docs/advanced/path-operation-advanced-configuration.md b/docs/em/docs/advanced/path-operation-advanced-configuration.md
deleted file mode 100644
index 9d9d5fa8d..000000000
--- a/docs/em/docs/advanced/path-operation-advanced-configuration.md
+++ /dev/null
@@ -1,172 +0,0 @@
-# โก ๐ ๏ธ ๐ง ๐ณ
-
-## ๐ {
-
-/// warning
-
-๐ฅ ๐ ๐ซ "๐ด" ๐, ๐ ๐ฒ ๐ซ ๐ช ๐.
-
-///
-
-๐ ๐ช โ ๐ `operationId` โ๏ธ ๐ *โก ๐ ๏ธ* โฎ๏ธ ๐ข `operation_id`.
-
-๐ ๐ โ๏ธ โ ๐ญ ๐ โซ๏ธ ๐ ๐ ๐ ๏ธ.
-
-{* ../../docs_src/path_operation_advanced_configuration/tutorial001.py hl[6] *}
-
-### โ๏ธ *โก ๐ ๏ธ ๐ข* ๐ {
-
-๐ฅ ๐ ๐ โ๏ธ ๐ ๐' ๐ข ๐ `operationId`โ, ๐ ๐ช ๐ ๐คญ ๐ ๐ซ & ๐ ๐ *โก ๐ ๏ธ* `operation_id` โ๏ธ ๐ซ `APIRoute.name`.
-
-๐ ๐ โซ๏ธ โฎ๏ธ โ ๐ ๐ *โก ๐ ๏ธ*.
-
-{* ../../docs_src/path_operation_advanced_configuration/tutorial002.py hl[2,12:21,24] *}
-
-/// tip
-
-๐ฅ ๐ โ ๐ค `app.openapi()`, ๐ ๐ โน `operationId`โ โญ ๐.
-
-///
-
-/// warning
-
-๐ฅ ๐ ๐, ๐ โ๏ธ โ ๐ญ ๐ 1๏ธโฃ ๐ *โก ๐ ๏ธ ๐ข* โ๏ธ ๐ ๐.
-
-๐ฅ ๐ซ ๐ ๐น (๐ ๐).
-
-///
-
-## ๐ซ โช๏ธโก๏ธ ๐
-
-๐ซ *โก ๐ ๏ธ* โช๏ธโก๏ธ ๐ ๐ ๐ (& โก๏ธ, โช๏ธโก๏ธ ๐ง ๐งพ โ๏ธ), โ๏ธ ๐ข `include_in_schema` & โ โซ๏ธ `False`:
-
-{* ../../docs_src/path_operation_advanced_configuration/tutorial003.py hl[6] *}
-
-## ๐ง ๐ โช๏ธโก๏ธ #๏ธโฃ
-
-๐ ๐ช ๐ โธ โ๏ธ โช๏ธโก๏ธ #๏ธโฃ *โก ๐ ๏ธ ๐ข* ๐.
-
-โ `\f` (๐ "๐จ ๐ผ" ๐ฆน) ๐ค **FastAPI** ๐ ๐ข โ๏ธ ๐ ๐ โ.
-
-โซ๏ธ ๐ ๐ซ ๐ฆ ๐ ๐งพ, โ๏ธ ๐ ๐งฐ (โ
๐) ๐ ๐ช โ๏ธ ๐.
-
-{* ../../docs_src/path_operation_advanced_configuration/tutorial004.py hl[19:29] *}
-
-## ๐ ๐จ
-
-๐ ๐ฒ โ๏ธ ๐ โ ๐ฃ `response_model` & `status_code` *โก ๐ ๏ธ*.
-
-๐ ๐ฌ ๐ ๐ ๐ ๐จ *โก ๐ ๏ธ*.
-
-๐ ๐ช ๐ฃ ๐ ๐จ โฎ๏ธ ๐ซ ๐ท, ๐ ๐, โ๏ธ.
-
-๐ค ๐ ๐ ๐ฅ ๐งพ ๐ โซ๏ธ, ๐ ๐ช โ โซ๏ธ [๐ ๐จ ๐](additional-responses.md){.internal-link target=_blank}.
-
-## ๐ โ
-
-๐โ ๐ ๐ฃ *โก ๐ ๏ธ* ๐ ๐ธ, **FastAPI** ๐ ๐ ๐ ๐ ๐ ๐ *โก ๐ ๏ธ* ๐ ๐ ๐.
-
-/// note | ๐ก โน
-
-๐ ๐ง โซ๏ธ ๐ค ๐ ๏ธ ๐.
-
-///
-
-โซ๏ธ โ๏ธ ๐ โน ๐ *โก ๐ ๏ธ* & โ๏ธ ๐ ๐ง ๐งพ.
-
-โซ๏ธ ๐ `tags`, `parameters`, `requestBody`, `responses`, โ๏ธ.
-
-๐ *โก ๐ ๏ธ*-๐ฏ ๐ ๐ ๐ ๐ ๐ **FastAPI**, โ๏ธ ๐ ๐ช โ โซ๏ธ.
-
-/// tip
-
-๐ ๐
๐ โ โ.
-
-๐ฅ ๐ ๐ด ๐ช ๐ฃ ๐ ๐จ, ๐
๐ช ๐ โซ๏ธ โฎ๏ธ [๐ ๐จ ๐](additional-responses.md){.internal-link target=_blank}.
-
-///
-
-๐ ๐ช โ ๐ ๐ *โก ๐ ๏ธ* โ๏ธ ๐ข `openapi_extra`.
-
-### ๐ โ
-
-๐ `openapi_extra` ๐ช ๐, ๐ผ, ๐ฃ [๐ โ](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#specificationExtensions):
-
-{* ../../docs_src/path_operation_advanced_configuration/tutorial005.py hl[6] *}
-
-๐ฅ ๐ ๐ ๐ง ๐ ๏ธ ๐ฉบ, ๐ โ ๐ ๐ฆ ๐ ๐ ๐ฏ *โก ๐ ๏ธ*.
-
-
-
-& ๐ฅ ๐ ๐ ๐ ๐ ( `/openapi.json` ๐ ๐ ๏ธ), ๐ ๐ ๐ ๐ โ ๐ ๐ฏ *โก ๐ ๏ธ* ๐โโ๏ธ:
-
-```JSON hl_lines="22"
-{
- "openapi": "3.0.2",
- "info": {
- "title": "FastAPI",
- "version": "0.1.0"
- },
- "paths": {
- "/items/": {
- "get": {
- "summary": "Read Items",
- "operationId": "read_items_items__get",
- "responses": {
- "200": {
- "description": "Successful Response",
- "content": {
- "application/json": {
- "schema": {}
- }
- }
- }
- },
- "x-aperture-labs-portal": "blue"
- }
- }
- }
-}
-```
-
-### ๐ ๐ *โก ๐ ๏ธ* ๐
-
-๐ `openapi_extra` ๐ ๐ ๐ โฎ๏ธ ๐ ๐ ๐ ๐ *โก ๐ ๏ธ*.
-
-, ๐ ๐ช ๐ฎ ๐ ๐ฝ ๐ ๐ ๐.
-
-๐ผ, ๐ ๐ช ๐ญ โ & โ ๐จ โฎ๏ธ ๐ ๐ ๐, ๐ต โ๏ธ ๐ง โ FastAPI โฎ๏ธ Pydantic, โ๏ธ ๐ ๐ช ๐ ๐ฌ ๐จ ๐ ๐.
-
-๐ ๐ช ๐ โฎ๏ธ `openapi_extra`:
-
-{* ../../docs_src/path_operation_advanced_configuration/tutorial006.py hl[20:37,39:40] *}
-
-๐ ๐ผ, ๐ฅ ๐ซ ๐ฃ ๐ Pydantic ๐ท. ๐, ๐จ ๐ช ๐ซ ๐ป ๐ป, โซ๏ธ โ ๐ `bytes`, & ๐ข `magic_data_reader()` ๐ ๐ ๐ป โซ๏ธ ๐.
-
-๐, ๐ฅ ๐ช ๐ฃ ๐ ๐ ๐จ ๐ช.
-
-### ๐ ๐ ๐ ๐
-
-โ๏ธ ๐ ๐ ๐ฑ, ๐ ๐ช โ๏ธ Pydantic ๐ท ๐ฌ ๐ป ๐ ๐ โคด๏ธ ๐ ๐ ๐ ๐ ๐ *โก ๐ ๏ธ*.
-
-& ๐ ๐ช ๐ ๐ฅ ๐ฝ ๐ ๐จ ๐ซ ๐ป.
-
-๐ผ, ๐ ๐ธ ๐ฅ ๐ซ โ๏ธ FastAPI ๐ ๏ธ ๐ ๏ธ โ ๐ป ๐ โช๏ธโก๏ธ Pydantic ๐ท ๐ซ ๐ง ๐ฌ ๐ป. ๐, ๐ฅ ๐ฃ ๐จ ๐ ๐ ๐, ๐ซ ๐ป:
-
-{* ../../docs_src/path_operation_advanced_configuration/tutorial007.py hl[17:22,24] *}
-
-๐, ๐ ๐ฅ ๐ซ โ๏ธ ๐ข ๐ ๏ธ ๐ ๏ธ, ๐ฅ โ๏ธ Pydantic ๐ท โ ๐ ๐ป ๐ ๐ฝ ๐ ๐ฅ ๐ ๐จ ๐.
-
-โคด๏ธ ๐ฅ โ๏ธ ๐จ ๐, & โ ๐ช `bytes`. ๐ โ ๐ FastAPI ๐ ๐ซ ๐ ๐ป ๐จ ๐ ๐ป.
-
-& โคด๏ธ ๐ ๐, ๐ฅ ๐ป ๐ ๐ ๐ ๐, & โคด๏ธ ๐ฅ ๐ โ๏ธ ๐ Pydantic ๐ท โ ๐ ๐:
-
-{* ../../docs_src/path_operation_advanced_configuration/tutorial007.py hl[26:33] *}
-
-/// tip
-
-๐ฅ ๐ฅ ๐ค-โ๏ธ ๐ Pydantic ๐ท.
-
-โ๏ธ ๐ ๐, ๐ฅ ๐ช โ๏ธ โ โซ๏ธ ๐ ๐.
-
-///
diff --git a/docs/em/docs/advanced/response-change-status-code.md b/docs/em/docs/advanced/response-change-status-code.md
deleted file mode 100644
index 4933484dd..000000000
--- a/docs/em/docs/advanced/response-change-status-code.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# ๐จ - ๐ ๐ ๐
-
-๐ ๐ฒ โ โญ ๐ ๐ ๐ช โ ๐ข [๐จ ๐ ๐](../tutorial/response-status-code.md){.internal-link target=_blank}.
-
-โ๏ธ ๐ผ ๐ ๐ช ๐จ ๐ ๐ ๐ ๐ ๐ข.
-
-## โ๏ธ ๐ผ
-
-๐ผ, ๐ ๐ ๐ ๐ ๐จ ๐บ๐ธ๐ ๐ ๐ "๐" `200` ๐ข.
-
-โ๏ธ ๐ฅ ๐ฝ ๐ซ ๐, ๐ ๐ โ โซ๏ธ, & ๐จ ๐บ๐ธ๐ ๐ ๐ "โ" `201`.
-
-โ๏ธ ๐ ๐ ๐ช โฝ & ๐ ๐ฝ ๐ ๐จ โฎ๏ธ `response_model`.
-
-๐ ๐ผ, ๐ ๐ช โ๏ธ `Response` ๐ข.
-
-## โ๏ธ `Response` ๐ข
-
-๐ ๐ช ๐ฃ ๐ข ๐ `Response` ๐ *โก ๐ ๏ธ ๐ข* (๐ ๐ช ๐ช & ๐).
-
-& โคด๏ธ ๐ ๐ช โ `status_code` ๐ *๐* ๐จ ๐.
-
-{* ../../docs_src/response_change_status_code/tutorial001.py hl[1,9,12] *}
-
-& โคด๏ธ ๐ ๐ช ๐จ ๐ ๐ ๐ ๐ช, ๐ ๐ ๐ ( `dict`, ๐ฝ ๐ท, โ๏ธ).
-
-& ๐ฅ ๐ ๐ฃ `response_model`, โซ๏ธ ๐ โ๏ธ โฝ & ๐ ๐ ๐ ๐จ.
-
-**FastAPI** ๐ โ๏ธ ๐ *๐* ๐จ โ ๐ ๐ (๐ช & ๐), & ๐ ๐ฎ ๐ซ ๐ ๐จ ๐ ๐ ๐ฒ ๐ ๐จ, โฝ ๐ `response_model`.
-
-๐ ๐ช ๐ฃ `Response` ๐ข ๐, & โ ๐ ๐ ๐ซ. โ๏ธ โ๏ธ ๐คฏ ๐ ๐ 1๏ธโฃ โ ๐ ๐.
diff --git a/docs/em/docs/advanced/response-cookies.md b/docs/em/docs/advanced/response-cookies.md
deleted file mode 100644
index a6e37ad74..000000000
--- a/docs/em/docs/advanced/response-cookies.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# ๐จ ๐ช
-
-## โ๏ธ `Response` ๐ข
-
-๐ ๐ช ๐ฃ ๐ข ๐ `Response` ๐ *โก ๐ ๏ธ ๐ข*.
-
-& โคด๏ธ ๐ ๐ช โ ๐ช ๐ *๐* ๐จ ๐.
-
-{* ../../docs_src/response_cookies/tutorial002.py hl[1,8:9] *}
-
-& โคด๏ธ ๐ ๐ช ๐จ ๐ ๐ ๐ ๐ช, ๐ ๐ ๐ ( `dict`, ๐ฝ ๐ท, โ๏ธ).
-
-& ๐ฅ ๐ ๐ฃ `response_model`, โซ๏ธ ๐ โ๏ธ โฝ & ๐ ๐ ๐ ๐จ.
-
-**FastAPI** ๐ โ๏ธ ๐ *๐* ๐จ โ ๐ช (๐ & ๐ ๐), & ๐ ๐ฎ ๐ซ ๐ ๐จ ๐ ๐ ๐ฒ ๐ ๐จ, โฝ ๐ `response_model`.
-
-๐ ๐ช ๐ฃ `Response` ๐ข ๐, & โ ๐ช (& ๐) ๐ซ.
-
-## ๐จ `Response` ๐
-
-๐ ๐ช โ ๐ช ๐โ ๐ฌ `Response` ๐ ๐ ๐.
-
-๐, ๐ ๐ช โ ๐จ ๐ฌ [๐จ ๐จ ๐](response-directly.md){.internal-link target=_blank}.
-
-โคด๏ธ โ ๐ช โซ๏ธ, & โคด๏ธ ๐จ โซ๏ธ:
-
-{* ../../docs_src/response_cookies/tutorial001.py hl[10:12] *}
-
-/// tip
-
-โ๏ธ ๐คฏ ๐ ๐ฅ ๐ ๐จ ๐จ ๐ โฉ๏ธ โ๏ธ `Response` ๐ข, FastAPI ๐ ๐จ โซ๏ธ ๐.
-
-, ๐ ๐ โ๏ธ โ ๐ญ ๐ ๐ฝ โ ๐. ๐คถ โ. โซ๏ธ ๐ โฎ๏ธ ๐ป, ๐ฅ ๐ ๐ฌ `JSONResponse`.
-
- & ๐ ๐ ๐ซ ๐จ ๐ ๐ ๐ ๐ โ๏ธ โฝ `response_model`.
-
-///
-
-### ๐
โน
-
-/// note | ๐ก โน
-
-๐ ๐ช โ๏ธ `from starlette.responses import Response` โ๏ธ `from starlette.responses import JSONResponse`.
-
-**FastAPI** ๐ ๐ `starlette.responses` `fastapi.responses` ๐ช ๐, ๐ฉโ๐ป. โ๏ธ ๐
๐ช ๐จ ๐ ๐ โช๏ธโก๏ธ ๐.
-
- & `Response` ๐ช โ๏ธ ๐ โ ๐ & ๐ช, **FastAPI** ๐ โซ๏ธ `fastapi.Response`.
-
-///
-
-๐ ๐ ๐ช ๐ข & ๐, โ
๐งพ ๐.
diff --git a/docs/em/docs/advanced/response-directly.md b/docs/em/docs/advanced/response-directly.md
deleted file mode 100644
index 29819a205..000000000
--- a/docs/em/docs/advanced/response-directly.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# ๐จ ๐จ ๐
-
-๐โ ๐ โ **FastAPI** *โก ๐ ๏ธ* ๐ ๐ช ๐ ๐จ ๐ ๐ โช๏ธโก๏ธ โซ๏ธ: `dict`, `list`, Pydantic ๐ท, ๐ฝ ๐ท, โ๏ธ.
-
-๐ข, **FastAPI** ๐ ๐ ๐ ๐ ๐จ ๐ฒ ๐ป โ๏ธ `jsonable_encoder` ๐ฌ [๐ป ๐ ๐ข](../tutorial/encoder.md){.internal-link target=_blank}.
-
-โคด๏ธ, โ
๐, โซ๏ธ ๐ ๐ฎ ๐ ๐ป-๐ ๐ฝ (โ
`dict`) ๐ `JSONResponse` ๐ ๐ โ๏ธ ๐จ ๐จ ๐ฉโ๐ป.
-
-โ๏ธ ๐ ๐ช ๐จ `JSONResponse` ๐ โช๏ธโก๏ธ ๐ *โก ๐ ๏ธ*.
-
-โซ๏ธ ๐ช โ , ๐ผ, ๐จ ๐ ๐ โ๏ธ ๐ช.
-
-## ๐จ `Response`
-
-๐, ๐ ๐ช ๐จ ๐ `Response` โ๏ธ ๐ ๐ง-๐ โซ๏ธ.
-
-/// tip
-
-`JSONResponse` โซ๏ธ ๐ง-๐ `Response`.
-
-///
-
-& ๐โ ๐ ๐จ `Response`, **FastAPI** ๐ ๐ถโโ๏ธ โซ๏ธ ๐.
-
-โซ๏ธ ๐ ๐ซ ๐ ๐ฝ ๐ ๏ธ โฎ๏ธ Pydantic ๐ท, โซ๏ธ ๐ ๐ซ ๐ ๐ ๐ ๐, โ๏ธ.
-
-๐ ๐ค ๐ ๐ ๐ช. ๐ ๐ช ๐จ ๐ ๐ ๐, ๐ ๐ ๐ฝ ๐ โ๏ธ ๐ฌ, โ๏ธ.
-
-## โ๏ธ `jsonable_encoder` `Response`
-
-โฉ๏ธ **FastAPI** ๐ซ ๐ ๐ `Response` ๐ ๐จ, ๐ โ๏ธ โ ๐ญ โซ๏ธ ๐ ๐ โซ๏ธ.
-
-๐ผ, ๐ ๐ซ๐ ๐ฎ Pydantic ๐ท `JSONResponse` ๐ต ๐ฅ ๐ญ โซ๏ธ `dict` โฎ๏ธ ๐ ๐ ๐ (๐ `datetime`, `UUID`, โ๏ธ) ๐ ๐ป-๐ ๐.
-
-๐ ๐ผ, ๐ ๐ช โ๏ธ `jsonable_encoder` ๐ ๐ ๐ โญ ๐ถโโ๏ธ โซ๏ธ ๐จ:
-
-{* ../../docs_src/response_directly/tutorial001.py hl[6:7,21:22] *}
-
-/// note | ๐ก โน
-
-๐ ๐ช โ๏ธ `from starlette.responses import JSONResponse`.
-
-**FastAPI** ๐ ๐ `starlette.responses` `fastapi.responses` ๐ช ๐, ๐ฉโ๐ป. โ๏ธ ๐
๐ช ๐จ ๐ ๐ โช๏ธโก๏ธ ๐.
-
-///
-
-## ๐ฌ ๐ `Response`
-
-๐ผ ๐ ๐ฆ ๐ ๐ ๐ ๐ช, โ๏ธ โซ๏ธ ๐ซ ๐ถ โ , ๐ ๐ช โ๏ธ ๐จ `item` ๐, & **FastAPI** ๐ ๐ฎ โซ๏ธ `JSONResponse` ๐, ๐ญ โซ๏ธ `dict`, โ๏ธ. ๐ ๐ ๐ข.
-
-๐, โก๏ธ ๐ โ ๐ ๐ช โ๏ธ ๐ ๐จ ๐ ๐จ.
-
-โก๏ธ ๐ฌ ๐ ๐ ๐ ๐จ ๐ ๐จ.
-
-๐ ๐ช ๐ฎ ๐ ๐ ๐ ๐ป, ๐ฎ โซ๏ธ `Response`, & ๐จ โซ๏ธ:
-
-{* ../../docs_src/response_directly/tutorial002.py hl[1,18] *}
-
-## ๐
-
-๐โ ๐ ๐จ `Response` ๐ ๐ฎ ๐ ๐ซ โ, ๐ (๐ป), ๐ซ ๐ ๐.
-
-โ๏ธ ๐ ๐ช ๐ โซ๏ธ ๐ฌ [๐ ๐จ ๐](additional-responses.md){.internal-link target=_blank}.
-
-๐ ๐ช ๐ โช ๐ โ โ๏ธ/๐ฃ ๐ ๐ `Response`โ โช โ๏ธ ๐ง ๐ฝ ๐ ๏ธ, ๐งพ, โ๏ธ.
diff --git a/docs/em/docs/advanced/response-headers.md b/docs/em/docs/advanced/response-headers.md
deleted file mode 100644
index c255380d6..000000000
--- a/docs/em/docs/advanced/response-headers.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# ๐จ ๐
-
-## โ๏ธ `Response` ๐ข
-
-๐ ๐ช ๐ฃ ๐ข ๐ `Response` ๐ *โก ๐ ๏ธ ๐ข* (๐ ๐ช ๐ช).
-
-& โคด๏ธ ๐ ๐ช โ ๐ ๐ *๐* ๐จ ๐.
-
-{* ../../docs_src/response_headers/tutorial002.py hl[1,7:8] *}
-
-& โคด๏ธ ๐ ๐ช ๐จ ๐ ๐ ๐ ๐ช, ๐ ๐ ๐ ( `dict`, ๐ฝ ๐ท, โ๏ธ).
-
-& ๐ฅ ๐ ๐ฃ `response_model`, โซ๏ธ ๐ โ๏ธ โฝ & ๐ ๐ ๐ ๐จ.
-
-**FastAPI** ๐ โ๏ธ ๐ *๐* ๐จ โ ๐ (๐ช & ๐ ๐), & ๐ ๐ฎ ๐ซ ๐ ๐จ ๐ ๐ ๐ฒ ๐ ๐จ, โฝ ๐ `response_model`.
-
-๐ ๐ช ๐ฃ `Response` ๐ข ๐, & โ ๐ (& ๐ช) ๐ซ.
-
-## ๐จ `Response` ๐
-
-๐ ๐ช ๐ฎ ๐ ๐โ ๐ ๐จ `Response` ๐.
-
-โ ๐จ ๐ฌ [๐จ ๐จ ๐](response-directly.md){.internal-link target=_blank} & ๐ถโโ๏ธ ๐ ๐ ๐ข:
-
-{* ../../docs_src/response_headers/tutorial001.py hl[10:12] *}
-
-/// note | ๐ก โน
-
-๐ ๐ช โ๏ธ `from starlette.responses import Response` โ๏ธ `from starlette.responses import JSONResponse`.
-
-**FastAPI** ๐ ๐ `starlette.responses` `fastapi.responses` ๐ช ๐, ๐ฉโ๐ป. โ๏ธ ๐
๐ช ๐จ ๐ ๐ โช๏ธโก๏ธ ๐.
-
- & `Response` ๐ช โ๏ธ ๐ โ ๐ & ๐ช, **FastAPI** ๐ โซ๏ธ `fastapi.Response`.
-
-///
-
-## ๐ ๐
-
-โ๏ธ ๐คฏ ๐ ๐ ยฉ ๐ ๐ช ๐ฎ โ๏ธ 'โ-' ๐ก.
-
-โ๏ธ ๐ฅ ๐ โ๏ธ ๐ ๐ ๐ ๐ ๐ ๐ฉโ๐ป ๐ฅ ๐ช ๐, ๐ ๐ช ๐ฎ ๐ซ ๐ โ ๐ณ (โ ๐
[โ (โ๏ธ-๐จ๐ณ โน ๐ค)](../tutorial/cors.md){.internal-link target=_blank}), โ๏ธ ๐ข `expose_headers` ๐ ๐ โ ๐ฉบ.
diff --git a/docs/em/docs/advanced/security/http-basic-auth.md b/docs/em/docs/advanced/security/http-basic-auth.md
deleted file mode 100644
index 73736f3b3..000000000
--- a/docs/em/docs/advanced/security/http-basic-auth.md
+++ /dev/null
@@ -1,107 +0,0 @@
-# ๐บ๐ธ๐ ๐ฐ ๐
-
-๐
๐ผ, ๐ ๐ช โ๏ธ ๐บ๐ธ๐ ๐ฐ ๐.
-
-๐บ๐ธ๐ ๐ฐ ๐, ๐ธ โ ๐ ๐ ๐ ๐ & ๐.
-
-๐ฅ โซ๏ธ ๐ซ ๐จ โซ๏ธ, โซ๏ธ ๐จ ๐บ๐ธ๐ 4๏ธโฃ0๏ธโฃ1๏ธโฃ "โ" โ.
-
-& ๐จ ๐ `WWW-Authenticate` โฎ๏ธ ๐ฒ `Basic`, & ๐ฆ `realm` ๐ข.
-
-๐ ๐ฌ ๐ฅ ๐ฆ ๐ ๏ธ ๐ ๐ & ๐.
-
-โคด๏ธ, ๐โ ๐ ๐ ๐ ๐ & ๐, ๐ฅ ๐จ ๐ซ ๐ ๐.
-
-## ๐
๐บ๐ธ๐ ๐ฐ ๐
-
-* ๐ `HTTPBasic` & `HTTPBasicCredentials`.
-* โ "`security` โ" โ๏ธ `HTTPBasic`.
-* โ๏ธ ๐ `security` โฎ๏ธ ๐ ๐ *โก ๐ ๏ธ*.
-* โซ๏ธ ๐จ ๐ ๐ `HTTPBasicCredentials`:
- * โซ๏ธ ๐ `username` & `password` ๐จ.
-
-{* ../../docs_src/security/tutorial006.py hl[2,6,10] *}
-
-๐โ ๐ ๐ ๐ ๐ ๐ฅ ๐ฐ (โ๏ธ ๐ "๐ ๏ธ" ๐ผ ๐ฉบ) ๐ฅ ๐ ๐ญ ๐ ๐ ๐ & ๐:
-
-
-
-## โ
๐
-
-๐ฅ ๐
๐ ๐ผ.
-
-โ๏ธ ๐ โ
๐ฅ ๐ & ๐ โ.
-
-๐, โ๏ธ ๐ ๐ฉ ๐น `secrets` โ
๐ & ๐.
-
-`secrets.compare_digest()` ๐ช โ `bytes` โ๏ธ `str` ๐ ๐ด ๐ ๐ ๐ฆน (๐ ๐ช๐ธ), ๐ โ โซ๏ธ ๐ซ๐ ๐ท โฎ๏ธ ๐ฆน ๐ `รก`, `Sebastiรกn`.
-
-๐ต ๐, ๐ฅ ๐ฅ ๐ `username` & `password` `bytes` ๐ข ๐ซ โฎ๏ธ ๐ -8๏ธโฃ.
-
-โคด๏ธ ๐ฅ ๐ช โ๏ธ `secrets.compare_digest()` ๐ ๐ `credentials.username` `"stanleyjobson"`, & ๐ `credentials.password` `"swordfish"`.
-
-{* ../../docs_src/security/tutorial007.py hl[1,11:21] *}
-
-๐ ๐ ๐:
-
-```Python
-if not (credentials.username == "stanleyjobson") or not (credentials.password == "swordfish"):
- # Return some error
- ...
-```
-
-โ๏ธ โ๏ธ `secrets.compare_digest()` โซ๏ธ ๐ ๐ ๐ก ๐ ๐ ๐ค "๐ฐ ๐".
-
-### โฒ ๐
-
-โ๏ธ โซ๏ธโ "โฒ ๐"โ
-
-โก๏ธ ๐ ๐ ๐ ๐ญ ๐ & ๐.
-
-& ๐ซ ๐จ ๐จ โฎ๏ธ ๐ `johndoe` & ๐ `love123`.
-
-โคด๏ธ ๐ ๐ ๐ ๐ธ ๐ ๐ ๐ณ ๐:
-
-```Python
-if "johndoe" == "stanleyjobson" and "love123" == "swordfish":
- ...
-```
-
-โ๏ธ โถ๏ธ๏ธ ๐ ๐ ๐ฌ ๐ฅ `j` `johndoe` ๐ฅ `s` `stanleyjobson`, โซ๏ธ ๐ ๐จ `False`, โฉ๏ธ โซ๏ธ โช ๐ญ ๐ ๐ 2๏ธโฃ ๐ป ๐ซ ๐, ๐ญ ๐ "๐ค ๐
โโ ๐ช ๐ ๐
๐ โ ๐ ๐ค". & ๐ ๐ธ ๐ ๐ฌ "โ ๐ฉโ๐ป โ๏ธ ๐".
-
-โ๏ธ โคด๏ธ ๐ ๐ โฎ๏ธ ๐ `stanleyjobsox` & ๐ `love123`.
-
-& ๐ ๐ธ ๐ ๐จ ๐ณ ๐:
-
-```Python
-if "stanleyjobsox" == "stanleyjobson" and "love123" == "swordfish":
- ...
-```
-
-๐ ๐ โ๏ธ ๐ฌ ๐ `stanleyjobso` ๐ฏโโ๏ธ `stanleyjobsox` & `stanleyjobson` โญ ๐ค ๐ ๐ฏโโ๏ธ ๐ป ๐ซ ๐. โซ๏ธ ๐ โ โ โฒ ๐จ ๐ "โ ๐ฉโ๐ป โ๏ธ ๐".
-
-#### ๐ฐ โ โน ๐
-
-๐ โ, ๐ ๐ ๐ฝ โ โฒ ๐ ๐จ "โ ๐ฉโ๐ป โ๏ธ ๐" ๐จ, ๐ ๐ ๐ญ ๐ ๐ซ ๐ค _๐ณ_ โถ๏ธ๏ธ, โถ๏ธ ๐ค โถ๏ธ๏ธ.
-
-& โคด๏ธ ๐ซ ๐ช ๐ ๐ ๐ค ๐ โซ๏ธ ๐ฒ ๐ณ ๐ ๐ `stanleyjobsox` ๐ `johndoe`.
-
-#### "๐ด" ๐
-
-โ๏ธ, ๐ ๐ ๐ซ ๐ ๐ ๐ โ, ๐ซ ๐ โ ๐ โซ๏ธ, ๐ฒ โฎ๏ธ ๐ฏ โ๏ธ ๐ฏ ๐ฏ ๐ ๐ฅ. & ๐ ๐ค 1๏ธโฃ โ โ ๐ค ๐ฐ.
-
-โ๏ธ ๐จ ๐, โฒ โ๏ธ ๐ ๐ ๐ โ๏ธ ๐ญ โ ๐ & ๐, โฎ๏ธ "โน" ๐ ๐ธ, โ๏ธ ๐ฐ โ โ.
-
-#### ๐ง โซ๏ธ โฎ๏ธ `secrets.compare_digest()`
-
-โ๏ธ ๐ ๐ ๐ฅ ๐ค โ๏ธ `secrets.compare_digest()`.
-
-๐, โซ๏ธ ๐ โ ๐ ๐ฐ ๐ฌ `stanleyjobsox` `stanleyjobson` ๐ โซ๏ธ โ ๐ฌ `johndoe` `stanleyjobson`. & ๐ ๐.
-
-๐ ๐, โ๏ธ `secrets.compare_digest()` ๐ ๐ธ ๐, โซ๏ธ ๐ ๐ ๐ก ๐ ๐ โ ๐โโ ๐.
-
-### ๐จ โ
-
-โฎ๏ธ ๐ ๐ ๐ โ, ๐จ `HTTPException` โฎ๏ธ ๐ ๐ 4๏ธโฃ0๏ธโฃ1๏ธโฃ (๐ ๐จ ๐โ ๐
โโ ๐ ๐) & ๐ฎ ๐ `WWW-Authenticate` โ ๐ฅ ๐ฆ ๐ณ ๐ ๐:
-
-{* ../../docs_src/security/tutorial007.py hl[23:27] *}
diff --git a/docs/em/docs/advanced/security/index.md b/docs/em/docs/advanced/security/index.md
deleted file mode 100644
index 5cdc47505..000000000
--- a/docs/em/docs/advanced/security/index.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# ๐ง ๐โโ
-
-## ๐ โ
-
-๐ค โ โ ๐ต ๐โโ โ๏ธ โช๏ธโก๏ธ ๐ ๐ [๐ฐ - ๐ฉโ๐ป ๐ฆฎ: ๐โโ](../../tutorial/security/index.md){.internal-link target=_blank}.
-
-/// tip
-
-โญ ๐ **๐ซ ๐ฏ "๐ง"**.
-
- & โซ๏ธ ๐ช ๐ ๐ โ๏ธ ๐ผ, โ 1๏ธโฃ ๐ซ.
-
-///
-
-## โ ๐ฐ ๐ฅ
-
-โญ ๐ ๐ค ๐ โช โ ๐ [๐ฐ - ๐ฉโ๐ป ๐ฆฎ: ๐โโ](../../tutorial/security/index.md){.internal-link target=_blank}.
-
-๐ซ ๐ โ๏ธ ๐ ๐ ๐ง, โ๏ธ โ โ ๐ ๏ธ.
diff --git a/docs/em/docs/advanced/security/oauth2-scopes.md b/docs/em/docs/advanced/security/oauth2-scopes.md
deleted file mode 100644
index 9e3bc0058..000000000
--- a/docs/em/docs/advanced/security/oauth2-scopes.md
+++ /dev/null
@@ -1,274 +0,0 @@
-# Oauth2๏ธโฃ โ
-
-๐ ๐ช โ๏ธ Oauth2๏ธโฃ โ ๐ โฎ๏ธ **FastAPI**, ๐ซ ๐ ๏ธ ๐ท ๐.
-
-๐ ๐ โ ๐ โ๏ธ ๐ ๐-๐งฝ โ โ๏ธ, ๐ Oauth2๏ธโฃ ๐ฉ, ๐ ๏ธ ๐ ๐ ๐ ๐ธ (& ๐ ๏ธ ๐ฉบ).
-
-Oauth2๏ธโฃ โฎ๏ธ โ ๐ ๏ธ โ๏ธ ๐ ๐ฆ ๐ค ๐โ๐ฆบ, ๐ ๐ฑ๐, ๐บ๐ธ๐, ๐, ๐คธโโ, ๐ฑ๐, โ๏ธ. ๐ซ โ๏ธ โซ๏ธ ๐ ๐ฏ โ ๐ฉโ๐ป & ๐ธ.
-
-๐ ๐ฐ ๐ "๐น โฎ๏ธ" ๐ฑ๐, ๐บ๐ธ๐, ๐, ๐คธโโ, ๐ฑ๐, ๐ ๐ธ โ๏ธ Oauth2๏ธโฃ โฎ๏ธ โ.
-
-๐ ๐ ๐ ๐ ๐ โ ๐ ๏ธ ๐ค & โ โฎ๏ธ ๐ Oauth2๏ธโฃ โฎ๏ธ โ ๐ **FastAPI** ๐ธ.
-
-/// warning
-
-๐ ๐
โ๏ธ ๐ ๐ง ๐. ๐ฅ ๐ โถ๏ธ, ๐ ๐ช ๐ถ โซ๏ธ.
-
-๐ ๐ซ ๐ฏ ๐ช Oauth2๏ธโฃ โ, & ๐ ๐ช ๐ต ๐ค & โ ๐ ๐ ๐.
-
-โ๏ธ Oauth2๏ธโฃ โฎ๏ธ โ ๐ช ๐ ๐ ๏ธ ๐ ๐ ๐ ๏ธ (โฎ๏ธ ๐) & ๐ ๐ ๏ธ ๐ฉบ.
-
-๐, ๐ ๐ ๏ธ ๐ โ, โ๏ธ ๐ ๐ ๐โโ/โ ๐, ๐ ๐ ๐ช, ๐ ๐.
-
-๐ ๐ผ, Oauth2๏ธโฃ โฎ๏ธ โ ๐ช ๐น.
-
-โ๏ธ ๐ฅ ๐ ๐ญ ๐ ๐ช โซ๏ธ, โ๏ธ ๐ ๐, ๐ง ๐.
-
-///
-
-## Oauth2๏ธโฃ โ & ๐
-
-Oauth2๏ธโฃ ๐ง ๐ฌ "โ" ๐ ๐ป ๐ ๐.
-
-๐ ๐ ๐ ๐ป ๐ช โ๏ธ ๐ ๐, โ๏ธ ๐ ๐ซ ๐ ๐.
-
-๐ซ โ ๐จ "โ".
-
-๐ (โ
๐ ๏ธ ๐ฉบ), ๐ ๐ช ๐ฌ "๐โโ โ".
-
-๐โ 1๏ธโฃ ๐ซ ๐โโ โ โ๏ธ Oauth2๏ธโฃ, ๐ ๐ช ๐ฃ & โ๏ธ โ.
-
-๐ "โ" ๐ป (๐ต ๐).
-
-๐ซ ๐ โ๏ธ ๐ฃ ๐ฏ ๐โโ โ, ๐ผ:
-
-* `users:read` โ๏ธ `users:write` โ ๐ผ.
-* `instagram_basic` โ๏ธ ๐ฑ๐ / ๐ฑ๐.
-* `https://www.googleapis.com/auth/drive` โ๏ธ ๐บ๐ธ๐.
-
-/// info
-
-Oauth2๏ธโฃ "โ" ๐ป ๐ ๐ฃ ๐ฏ โ โ.
-
-โซ๏ธ ๐ซ ๐ค ๐ฅ โซ๏ธ โ๏ธ ๐ ๐ฆน ๐ `:` โ๏ธ ๐ฅ โซ๏ธ ๐.
-
-๐ โน ๐ ๏ธ ๐ฏ.
-
-Oauth2๏ธโฃ ๐ซ ๐ป.
-
-///
-
-## ๐ ๐
-
-๐ฅ, โก๏ธ ๐ ๐ ๐ ๐ ๐ โช๏ธโก๏ธ ๐ผ ๐ **๐ฐ - ๐ฉโ๐ป ๐ฆฎ** [Oauth2๏ธโฃ โฎ๏ธ ๐ (& ๐), ๐จ โฎ๏ธ ๐ฅ ๐ค](../../tutorial/security/oauth2-jwt.md){.internal-link target=_blank}. ๐ โ๏ธ Oauth2๏ธโฃ โ:
-
-{* ../../docs_src/security/tutorial005.py hl[2,4,8,12,46,64,105,107:115,121:125,129:135,140,156] *}
-
-๐ โก๏ธ ๐ ๐ ๐ ๐ ๐.
-
-## Oauth2๏ธโฃ ๐โโ โ
-
-๐ฅ ๐ ๐ ๐ ๐ฅ ๐ฃ Oauth2๏ธโฃ ๐โโ โ โฎ๏ธ 2๏ธโฃ ๐ช โ, `me` & `items`.
-
-`scopes` ๐ข ๐จ `dict` โฎ๏ธ ๐ โ ๐ & ๐ ๐ฒ:
-
-{* ../../docs_src/security/tutorial005.py hl[62:65] *}
-
-โฉ๏ธ ๐ฅ ๐ ๐ฃ ๐ โ, ๐ซ ๐ ๐ฆ ๐ ๐ ๏ธ ๐ฉบ ๐โ ๐ ๐น-/โ.
-
-& ๐ ๐ ๐ช ๐ โ โ ๐ ๐ ๐ค ๐: `me` & `items`.
-
-๐ ๐ ๐ ๏ธ โ๏ธ ๐โ ๐ ๐ค โ โช ๐จ โฎ๏ธ ๐ฑ๐, ๐บ๐ธ๐, ๐, โ๏ธ:
-
-
-
-## ๐ฅ ๐ค โฎ๏ธ โ
-
-๐, ๐ ๐ค *โก ๐ ๏ธ* ๐จ โ ๐จ.
-
-๐ฅ โ๏ธ ๐ `OAuth2PasswordRequestForm`. โซ๏ธ ๐ ๐ `scopes` โฎ๏ธ `list` `str`, โฎ๏ธ ๐ โ โซ๏ธ ๐จ ๐จ.
-
-& ๐ฅ ๐จ โ ๐ ๐ฅ ๐ค.
-
-/// danger
-
-๐ฆ, ๐ฅ ๐ฅ โ โ ๐จ ๐ ๐ค.
-
-โ๏ธ ๐ ๐ธ, ๐โโ, ๐ ๐ โ ๐ญ ๐ ๐ด ๐ฎ โ ๐ ๐ฉโ๐ป ๐ค ๐ช โ๏ธ, โ๏ธ ๐ ๐ โ๏ธ ๐.
-
-///
-
-{* ../../docs_src/security/tutorial005.py hl[156] *}
-
-## ๐ฃ โ *โก ๐ ๏ธ* & ๐
-
-๐ ๐ฅ ๐ฃ ๐ *โก ๐ ๏ธ* `/users/me/items/` ๐ โ `items`.
-
-๐, ๐ฅ ๐ & โ๏ธ `Security` โช๏ธโก๏ธ `fastapi`.
-
-๐ ๐ช โ๏ธ `Security` ๐ฃ ๐ (๐ `Depends`), โ๏ธ `Security` ๐จ ๐ข `scopes` โฎ๏ธ ๐ โ (๐ป).
-
-๐ ๐ผ, ๐ฅ ๐ถโโ๏ธ ๐ ๐ข `get_current_active_user` `Security` (๐ ๐ ๐ฅ ๐ โฎ๏ธ `Depends`).
-
-โ๏ธ ๐ฅ ๐ถโโ๏ธ `list` โ, ๐ ๐ผ โฎ๏ธ 1๏ธโฃ โ: `items` (โซ๏ธ ๐ช โ๏ธ ๐
).
-
-& ๐ ๐ข `get_current_active_user` ๐ช ๐ฃ ๐ง-๐, ๐ซ ๐ด โฎ๏ธ `Depends` โ๏ธ โฎ๏ธ `Security`. ๐ฃ ๐ฎ ๐ ๐ง-๐ ๐ข (`get_current_user`), & ๐ โ ๐.
-
-๐ ๐ผ, โซ๏ธ ๐ โ `me` (โซ๏ธ ๐ช ๐ ๐
๐ 1๏ธโฃ โ).
-
-/// note
-
-๐ ๐ซ ๐ฏ ๐ช ๐ฎ ๐ โ ๐ ๐ฅ.
-
-๐ฅ ๐จ โซ๏ธ ๐ฅ ๐ฆ โ **FastAPI** ๐ต โ ๐ฃ ๐ ๐.
-
-///
-
-{* ../../docs_src/security/tutorial005.py hl[4,140,169] *}
-
-/// info | ๐ก โน
-
-`Security` ๐ค ๐ฟ `Depends`, & โซ๏ธ โ๏ธ 1๏ธโฃ โ ๐ข ๐ ๐ฅ ๐ ๐ โช.
-
-โ๏ธ โ๏ธ `Security` โฉ๏ธ `Depends`, **FastAPI** ๐ ๐ญ ๐ โซ๏ธ ๐ช ๐ฃ ๐โโ โ, โ๏ธ ๐ซ ๐, & ๐ ๐ ๏ธ โฎ๏ธ ๐.
-
-โ๏ธ ๐โ ๐ ๐ `Query`, `Path`, `Depends`, `Security` & ๐ โช๏ธโก๏ธ `fastapi`, ๐ ๐ค ๐ข ๐ ๐จ ๐ ๐.
-
-///
-
-## โ๏ธ `SecurityScopes`
-
-๐ โน ๐ `get_current_user`.
-
-๐ 1๏ธโฃ โ๏ธ ๐ ๐.
-
-๐ฅ ๐ฅ โ๏ธ ๐ Oauth2๏ธโฃ โ ๐ฅ โ โญ, ๐ฃ โซ๏ธ ๐: `oauth2_scheme`.
-
-โฉ๏ธ ๐ ๐ ๐ข ๐ซ โ๏ธ ๐ โ ๐ โซ๏ธ, ๐ฅ ๐ช โ๏ธ `Depends` โฎ๏ธ `oauth2_scheme`, ๐ฅ ๐ซ โ๏ธ โ๏ธ `Security` ๐โ ๐ฅ ๐ซ ๐ช โ ๐โโ โ.
-
-๐ฅ ๐ฃ ๐ ๐ข ๐ `SecurityScopes`, ๐ โช๏ธโก๏ธ `fastapi.security`.
-
-๐ `SecurityScopes` ๐ ๐ `Request` (`Request` โ๏ธ ๐ค ๐จ ๐ ๐).
-
-{* ../../docs_src/security/tutorial005.py hl[8,105] *}
-
-## โ๏ธ `scopes`
-
-๐ข `security_scopes` ๐ ๐ `SecurityScopes`.
-
-โซ๏ธ ๐ โ๏ธ ๐ `scopes` โฎ๏ธ ๐ โ ๐ โ โ โซ๏ธ & ๐ ๐ ๐ โ๏ธ ๐ ๐ง-๐. ๐ โ, ๐ "โ๏ธ"... ๐ ๐ช ๐ ๐จ, โซ๏ธ ๐ฌ ๐ โช ๐.
-
-`security_scopes` ๐ (๐ `SecurityScopes`) ๐ `scope_str` ๐ข โฎ๏ธ ๐ ๐ป, ๐ ๐ โ ๐ฝ ๐ (๐ฅ ๐ โ๏ธ โซ๏ธ).
-
-๐ฅ โ `HTTPException` ๐ ๐ฅ ๐ช ๐ค-โ๏ธ (`raise`) โช ๐ โ.
-
-๐ โ , ๐ฅ ๐ โ ๐ (๐ฅ ๐) ๐ป ๐ฝ ๐ (โ๏ธ `scope_str`). ๐ฅ ๐ฎ ๐ ๐ป โ โ `WWW-Authenticate` ๐ (๐ ๐ ๐).
-
-{* ../../docs_src/security/tutorial005.py hl[105,107:115] *}
-
-## โ `username` & ๐ฝ ๐
-
-๐ฅ โ ๐ ๐ฅ ๐ค `username`, & โ โ.
-
-& โคด๏ธ ๐ฅ โ ๐ ๐ โฎ๏ธ Pydantic ๐ท (โ `ValidationError` โ ), & ๐ฅ ๐ฅ ๐ค โ ๐ ๐ฅ ๐ค โ๏ธ โ ๐ โฎ๏ธ Pydantic, ๐ฅ ๐ค `HTTPException` ๐ฅ โ โญ.
-
-๐, ๐ฅ โน Pydantic ๐ท `TokenData` โฎ๏ธ ๐ ๐ `scopes`.
-
-โ ๐ โฎ๏ธ Pydantic ๐ฅ ๐ช โ ๐ญ ๐ ๐ฅ โ๏ธ, ๐ผ, โซ๏ธโ `list` `str` โฎ๏ธ โ & `str` โฎ๏ธ `username`.
-
-โฉ๏ธ, ๐ผ, `dict`, โ๏ธ ๐ณ ๐, โซ๏ธ ๐ช ๐ ๐ธ โ โช, โ โซ๏ธ ๐โโ โ .
-
-๐ฅ โ ๐ ๐ฅ โ๏ธ ๐ฉโ๐ป โฎ๏ธ ๐ ๐, & ๐ฅ ๐ซ, ๐ฅ ๐ค ๐ ๐ โ ๐ฅ โ โญ.
-
-{* ../../docs_src/security/tutorial005.py hl[46,116:128] *}
-
-## โ `scopes`
-
-๐ฅ ๐ โ ๐ ๐ โ โ, ๐ ๐ & ๐ โ๏ธ (๐ *โก ๐ ๏ธ*), ๐ โ ๐ ๐ค ๐จ, โช ๐ค `HTTPException`.
-
-๐, ๐ฅ โ๏ธ `security_scopes.scopes`, ๐ ๐ `list` โฎ๏ธ ๐ ๐ซ โ `str`.
-
-{* ../../docs_src/security/tutorial005.py hl[129:135] *}
-
-## ๐ ๐ฒ & โ
-
-โก๏ธ ๐ ๐ ๐ ๐ ๐ฒ & โ.
-
-`get_current_active_user` ๐ โ๏ธ ๐ง-๐ ๐ `get_current_user`, โ `"me"` ๐ฃ `get_current_active_user` ๐ ๐ ๐ โ โ `security_scopes.scopes` ๐ถโโ๏ธ `get_current_user`.
-
-*โก ๐ ๏ธ* โซ๏ธ ๐ฃ โ, `"items"`, ๐ ๐ ๐ `security_scopes.scopes` ๐ถโโ๏ธ `get_current_user`.
-
-๐ฅ โ ๐ ๐ & โ ๐ ๐:
-
-* *โก ๐ ๏ธ* `read_own_items` โ๏ธ:
- * โ โ `["items"]` โฎ๏ธ ๐:
- * `get_current_active_user`:
- * ๐ ๐ข `get_current_active_user` โ๏ธ:
- * โ โ `["me"]` โฎ๏ธ ๐:
- * `get_current_user`:
- * ๐ ๐ข `get_current_user` โ๏ธ:
- * ๐
โโ โ โ โซ๏ธ.
- * ๐ โ๏ธ `oauth2_scheme`.
- * `security_scopes` ๐ข ๐ `SecurityScopes`:
- * ๐ `security_scopes` ๐ข โ๏ธ ๐ `scopes` โฎ๏ธ `list` โ ๐ ๐ซ โ ๐ฃ ๐,:
- * `security_scopes.scopes` ๐ ๐ `["me", "items"]` *โก ๐ ๏ธ* `read_own_items`.
- * `security_scopes.scopes` ๐ ๐ `["me"]` *โก ๐ ๏ธ* `read_users_me`, โฉ๏ธ โซ๏ธ ๐ฃ ๐ `get_current_active_user`.
- * `security_scopes.scopes` ๐ ๐ `[]` (๐ณ) *โก ๐ ๏ธ* `read_system_status`, โฉ๏ธ โซ๏ธ ๐ซ ๐ฃ ๐ `Security` โฎ๏ธ `scopes`, & ๐ฎ ๐, `get_current_user`, ๐ซ ๐ฃ ๐ `scope` ๐ฏโโ๏ธ.
-
-/// tip
-
-โ & "๐ฑ" ๐ ๐ฅ ๐ `get_current_user` ๐ โ๏ธ ๐ ๐ `scopes` โ
๐ *โก ๐ ๏ธ*.
-
-๐ โ๏ธ ๐ `scopes` ๐ฃ ๐ *โก ๐ ๏ธ* & ๐ ๐ ๐ ๐ฒ ๐ ๐ฏ *โก ๐ ๏ธ*.
-
-///
-
-## ๐ โน ๐ `SecurityScopes`
-
-๐ ๐ช โ๏ธ `SecurityScopes` ๐ โ, & ๐ ๐ฅ, โซ๏ธ ๐ซ โ๏ธ "๐ฑ" ๐.
-
-โซ๏ธ ๐ ๐ง โ๏ธ ๐โโ โ ๐ฃ โฎ๏ธ `Security` ๐ & ๐ โ๏ธ **๐ ๐ฏ** *โก ๐ ๏ธ* & **๐ ๐ฏ** ๐ ๐ฒ.
-
-โฉ๏ธ `SecurityScopes` ๐ โ๏ธ ๐ โ ๐ฃ โ๏ธ, ๐ ๐ช โ๏ธ โซ๏ธ โ ๐ ๐ค โ๏ธ ๐ โ ๐จ๐ซ ๐ ๐ข, & โคด๏ธ ๐ฃ ๐ โ ๐ ๐ *โก ๐ ๏ธ*.
-
-๐ซ ๐ โ
โก ๐ *โก ๐ ๏ธ*.
-
-## โ
โซ๏ธ
-
-๐ฅ ๐ ๐ ๐ ๏ธ ๐ฉบ, ๐ ๐ช ๐ & โ โ โ ๐ ๐ โ.
-
-
-
-๐ฅ ๐ ๐ซ ๐ ๐ โ, ๐ ๐ "๐", โ๏ธ ๐โ ๐ ๐ ๐ `/users/me/` โ๏ธ `/users/me/items/` ๐ ๐ ๐ค โ ๐ฌ ๐ ๐ ๐ซ โ๏ธ ๐ฅ โ. ๐ ๐ ๐ช ๐ `/status/`.
-
-& ๐ฅ ๐ ๐ โ `me` โ๏ธ ๐ซ โ `items`, ๐ ๐ ๐ช ๐ `/users/me/` โ๏ธ ๐ซ `/users/me/items/`.
-
-๐ โซ๏ธโ ๐ ๐จ ๐ฅ ๐ฅณ ๐ธ ๐ ๐ ๐ 1๏ธโฃ ๐ซ *โก ๐ ๏ธ* โฎ๏ธ ๐ค ๐ ๐ฉโ๐ป, โ๏ธ ๐ โ ๐ โ ๐ฉโ๐ป ๐ค ๐ธ.
-
-## ๐ ๐ฅ ๐ฅณ ๐ ๏ธ
-
-๐ ๐ผ ๐ฅ โ๏ธ Oauth2๏ธโฃ "๐" ๐ง.
-
-๐ โ ๐โ ๐ฅ ๐จ ๐ ๐ ๐ธ, ๐ฒ โฎ๏ธ ๐ ๐ ๐ธ.
-
-โฉ๏ธ ๐ฅ ๐ช ๐ โซ๏ธ ๐จ `username` & `password`, ๐ฅ ๐ โซ๏ธ.
-
-โ๏ธ ๐ฅ ๐ ๐ Oauth2๏ธโฃ ๐ธ ๐ ๐ ๐ ๐ (โก, ๐ฅ ๐ ๐ ๐ค ๐โ๐ฆบ ๐ ๐ฑ๐, ๐บ๐ธ๐, ๐, โ๏ธ.) ๐ ๐ โ๏ธ 1๏ธโฃ ๐ ๐ง.
-
-๐
โ ๐ ๐ง.
-
-๐ ๐ ๐ ๐ง, โ๏ธ ๐ ๐ ๐ ๏ธ โซ๏ธ ๐ ๐
๐ถ. โซ๏ธ ๐
๐, ๐ ๐โ๐ฆบ ๐ ๐ โ ๐ ๐ง.
-
-/// note
-
-โซ๏ธ โ ๐ ๐ ๐ค ๐โ๐ฆบ ๐ ๐ซ ๐ง ๐ ๐, โ โซ๏ธ ๐ ๐ซ ๐ท.
-
-โ๏ธ ๐, ๐ซ ๐ ๏ธ ๐ Oauth2๏ธโฃ ๐ฉ.
-
-///
-
-**FastAPI** ๐ ๐ ๐ ๐ซ Oauth2๏ธโฃ ๐ค ๐ง `fastapi.security.oauth2`.
-
-## `Security` ๐จโ๐จ `dependencies`
-
-๐ ๐ ๐ ๐ช ๐ฌ `list` `Depends` ๐จโ๐จ `dependencies` ๐ข (๐ฌ [๐ โก ๐ ๏ธ ๐จโ๐จ](../../tutorial/dependencies/dependencies-in-path-operation-decorators.md){.internal-link target=_blank}), ๐ ๐ช โ๏ธ `Security` โฎ๏ธ `scopes` ๐ค.
diff --git a/docs/em/docs/advanced/settings.md b/docs/em/docs/advanced/settings.md
deleted file mode 100644
index 7fdd0d68a..000000000
--- a/docs/em/docs/advanced/settings.md
+++ /dev/null
@@ -1,396 +0,0 @@
-# โ & ๐ ๐ข
-
-๐ ๐ผ ๐ ๐ธ ๐ช ๐ช ๐ข โ โ๏ธ ๐ณ, ๐ผ ใ ๐, ๐ฝ ๐, ๐ ๐ง ๐โ๐ฆบ, โ๏ธ.
-
-๐ ๐ซ โ ๐ข (๐ช ๐), ๐ ๐ฝ ๐. & ๐ ๐ช ๐ฟ, ๐ ใ.
-
-๐ ๐ค โซ๏ธ โ ๐ ๐ซ ๐ ๐ข ๐ โ ๐ธ.
-
-## ๐ ๐ข
-
-/// tip
-
-๐ฅ ๐ โช ๐ญ โซ๏ธโ "๐ ๐ข" & โ โ๏ธ ๐ซ, ๐ญ ๐ ๐ถ โญ ๐ ๐.
-
-///
-
-๐ ๐ข (๐ญ "๐จ๐ป {") ๐ข ๐ ๐ ๐ ๐ ๐, ๐โโ โ๏ธ, & ๐ช โ ๐ ๐ ๐ (โ๏ธ ๐ ๐ ๐).
-
-๐ ๐ช โ & โ๏ธ ๐ ๐ข ๐, ๐ต ๐โโ ๐:
-
-//// tab | ๐พ, ๐ธ๐ป, ๐ช ๐
-
-
-
-& โคด๏ธ, ๐ ๐ฉบ ๐ง-๐ธ, http://127.0.0.1:8000/subapi/docs.
-
-๐ ๐ ๐ ๐ง ๐ ๏ธ ๐ฉบ ๐ง-๐ธ, โ
๐ด ๐ฎ ๐ _โก ๐ ๏ธ_, ๐ ๐ฝ โ ๐ง-โก ๐ก `/subapi`:
-
-
-
-๐ฅ ๐ ๐ ๐ โฎ๏ธ ๐ 2๏ธโฃ ๐ฉโ๐ป ๐ข, ๐ซ ๐ ๐ท โ, โฉ๏ธ ๐ฅ ๐ ๐ช ๐ฌ ๐ ๐ฏ ๐ฑ โ๏ธ ๐ง-๐ฑ.
-
-### ๐ก โน: `root_path`
-
-๐โ ๐ ๐ป ๐ง-๐ธ ๐ฌ ๐, FastAPI ๐ โ ๐
๐ ๐ป โก ๐ง-๐ธ โ๏ธ ๐ ๏ธ โช๏ธโก๏ธ ๐ซ ๐ง ๐ค `root_path`.
-
-๐ ๐, ๐ง-๐ธ ๐ ๐ญ โ๏ธ ๐ โก ๐ก ๐ฉบ ๐.
-
-& ๐ง-๐ธ ๐ช โ๏ธ ๐ฎ ๐ ๐ ๐ง-๐ธ & ๐ ๐ ๐ท โ, โฉ๏ธ FastAPI ๐ต ๐ ๐ `root_path`โ ๐.
-
-๐ ๐ ๐ก ๐
๐ `root_path` & โ โ๏ธ โซ๏ธ ๐ฏ ๐ ๐ [โ
๐ณ](behind-a-proxy.md){.internal-link target=_blank}.
diff --git a/docs/em/docs/advanced/templates.md b/docs/em/docs/advanced/templates.md
deleted file mode 100644
index 2e8f56228..000000000
--- a/docs/em/docs/advanced/templates.md
+++ /dev/null
@@ -1,84 +0,0 @@
-# ๐
-
-๐ ๐ช โ๏ธ ๐ ๐ ๐ ๐ ๐ โฎ๏ธ **FastAPI**.
-
-โ โ Jinja2๏ธโฃ, ๐ 1๏ธโฃ โ๏ธ ๐บ & ๐ ๐งฐ.
-
-๐ค ๐ ๐ โซ๏ธ ๐ช ๐ ๐ ๐ช โ๏ธ ๐ ๐ **FastAPI** ๐ธ (๐ ๐).
-
-## โ ๐
-
-โ `jinja2`:
-
-
-
-๐ ๐ช ๐ ๐ง ๐ข ๐ฆ, & ๐จ ๐ซ:
-
-
-
-& ๐ **FastAPI** ๐ธ โฎ๏ธ *๏ธโฃ ๐ ๐จ ๐:
-
-
-
-๐ ๐ช ๐จ (& ๐จ) ๐ ๐ง:
-
-
-
-& ๐ ๐ซ ๐ โ๏ธ ๐ *๏ธโฃ ๐.
-
-## โ๏ธ `Depends` & ๐
-
-*๏ธโฃ ๐ ๐ ๐ช ๐ โช๏ธโก๏ธ `fastapi` & โ๏ธ:
-
-* `Depends`
-* `Security`
-* `Cookie`
-* `Header`
-* `Path`
-* `Query`
-
-๐ซ ๐ท ๐ ๐ ๐ FastAPI ๐/*โก ๐ ๏ธ*:
-
-{* ../../docs_src/websockets/tutorial002.py hl[66:77,76:91] *}
-
-/// info
-
-๐ *๏ธโฃ โซ๏ธ ๐ซ ๐ค โ ๐ ๐ค `HTTPException`, โฉ๏ธ ๐ฅ ๐ค `WebSocketException`.
-
-๐ ๐ช โ๏ธ ๐ช ๐ โช๏ธโก๏ธ โ ๐ ๐ฌ ๐ง.
-
-///
-
-### ๐ *๏ธโฃ โฎ๏ธ ๐
-
-๐ฅ ๐ ๐ ๐ `main.py`, ๐ ๐ ๐ธ โฎ๏ธ:
-
-
-
-## ๐ ๐ & ๐ ๐ฉโ๐ป
-
-๐โ *๏ธโฃ ๐ ๐ช, `await websocket.receive_text()` ๐ ๐ค `WebSocketDisconnect` โ , โ ๐ ๐ช โคด๏ธ โ & ๐ต ๐ ๐ ๐ผ.
-
-{* ../../docs_src/websockets/tutorial003.py hl[81:83] *}
-
-๐ โซ๏ธ ๐
:
-
-* ๐ ๐ฑ โฎ๏ธ ๐ ๐ฅ ๐.
-* โ ๐ง โช๏ธโก๏ธ ๐ซ.
-* โคด๏ธ ๐ 1๏ธโฃ ๐.
-
-๐ ๐ ๐ค `WebSocketDisconnect` โ , & ๐ ๐ ๐ฉโ๐ป ๐ ๐จ ๐ง ๐:
-
-```
-Client #1596980209979 left the chat
-```
-
-/// tip
-
-๐ฑ ๐ โญ & ๐
๐ผ ๐ฆ โ ๐ต & ๐ป ๐ง ๐ *๏ธโฃ ๐.
-
-โ๏ธ โ๏ธ ๐คฏ ๐, ๐ ๐ต ๐พ, ๐ ๐, โซ๏ธ ๐ ๐ด ๐ท โช ๐ ๏ธ ๐, & ๐ ๐ด ๐ท โฎ๏ธ ๐ ๐ ๏ธ.
-
-๐ฅ ๐ ๐ช ๐ณ โฉ ๐ ๏ธ โฎ๏ธ FastAPI โ๏ธ ๐ ๐ ๐๏ธ, ๐โ๐ฆบ โณ, โณ โ๏ธ ๐, โ
๐/๐ป.
-
-///
-
-## ๐
โน
-
-๐ก ๐
๐ ๐, โ
๐ ๐งพ:
-
-* `WebSocket` ๐.
-* ๐-โ๏ธ *๏ธโฃ ๐.
diff --git a/docs/em/docs/advanced/wsgi.md b/docs/em/docs/advanced/wsgi.md
deleted file mode 100644
index d923347d5..000000000
--- a/docs/em/docs/advanced/wsgi.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# โ
๐จ๐ป - ๐บ, โณ, ๐
-
-๐ ๐ช ๐ป ๐จ๐ป ๐ธ ๐ ๐ โฎ๏ธ [๐ง ๐ธ - ๐ป](sub-applications.md){.internal-link target=_blank}, [โ
๐ณ](behind-a-proxy.md){.internal-link target=_blank}.
-
-๐, ๐ ๐ช โ๏ธ `WSGIMiddleware` & โ๏ธ โซ๏ธ ๐ ๐ ๐จ๐ป ๐ธ, ๐ผ, ๐บ, โณ, โ๏ธ.
-
-## โ๏ธ `WSGIMiddleware`
-
-๐ ๐ช ๐ `WSGIMiddleware`.
-
-โคด๏ธ ๐ ๐จ๐ป (โ
๐บ) ๐ฑ โฎ๏ธ ๐ ๏ธ.
-
-& โคด๏ธ ๐ป ๐ ๐ฝ โก.
-
-{* ../../docs_src/wsgi/tutorial001.py hl[2:3,22] *}
-
-## โ
โซ๏ธ
-
-๐, ๐ ๐จ ๐ฝ โก `/v1/` ๐ ๐ต ๐บ ๐ธ.
-
-& ๐ ๐ ๐ต **FastAPI**.
-
-๐ฅ ๐ ๐ โซ๏ธ โฎ๏ธ Uvicorn & ๐ถ http://localhost:8000/v1/ ๐ ๐ ๐ ๐จ โช๏ธโก๏ธ ๐บ:
-
-```txt
-Hello, World from Flask!
-```
-
-& ๐ฅ ๐ ๐ถ http://localhost:8000/v2 ๐ ๐ ๐ ๐จ โช๏ธโก๏ธ FastAPI:
-
-```JSON
-{
- "message": "Hello World"
-}
-```
diff --git a/docs/em/docs/alternatives.md b/docs/em/docs/alternatives.md
deleted file mode 100644
index 4cbac7539..000000000
--- a/docs/em/docs/alternatives.md
+++ /dev/null
@@ -1,485 +0,0 @@
-# ๐, ๐ & ๐บ
-
-โซ๏ธโ ๐ฎ **FastAPI**, โ โซ๏ธ ๐ฌ ๐ ๐ & โซ๏ธโ โซ๏ธ ๐ญ๐ฒ โช๏ธโก๏ธ ๐ซ.
-
-## ๐ถ
-
-**FastAPI** ๐ซ๐ ๐ ๐ฅ ๐ซ โฎ๏ธ ๐ท ๐.
-
-๐ค โ๏ธ ๐ ๐งฐ โ โญ ๐ โ๏ธ โน ๐ฎ ๐ฎ ๐.
-
-๐ค โ๏ธ โ ๐ ๐ ๐ ๏ธ ๐ 1๏ธโฃ2๏ธโฃ๐๏ธ. ๐ฅ ๐ค ๐ โ ๐ โ ๐ **FastAPI** โ๏ธ ๐ ๐ ๐ ๏ธ, ๐-๐, & ๐งฐ.
-
-โ๏ธ โ, ๐ค ๐
โโ ๐ ๐ ๐ ๐ ๐ณ ๐ ๐ ๐ ๐ซ โ, โ ๐ ๐ญ โช๏ธโก๏ธ โฎ๏ธ ๐งฐ, & ๐ ๐ซ ๐ ๐ ๐ช, โ๏ธ ๐ช๐ธ โ ๐ โ๐ซ ๐ช โญ (๐ 3๏ธโฃ.6๏ธโฃ โ ๐ ๐).
-
-## โฎ๏ธ ๐งฐ
-
-### โณ
-
-โซ๏ธ ๐
๐ ๐ ๐ ๏ธ & ๐ ๐ด. โซ๏ธ โ๏ธ ๐ โ๏ธ ๐ ๐ฑ๐.
-
-โซ๏ธ ๐ถ ๐ ๐ โฎ๏ธ ๐ ๐ฝ (๐ โณ โ๏ธ โณ),, โ๏ธ โ ๐ฝ (๐ ๐, โณ, ๐ธ, โ๏ธ) ๐ ๐ช ๐ ๐ซ ๐ถ โฉ.
-
-โซ๏ธ โ ๐ ๐ธ ๐ฉโ๐ป, ๐ซ โ ๐ โ๏ธ ๐ ๐ธ (๐ ๐ฅ, Vue.js & ๐) โ๏ธ ๐ โ๏ธ (๐ โ ๐ณ) ๐ โฎ๏ธ โซ๏ธ.
-
-### โณ ๐ ๐ ๏ธ
-
-โณ ๐ ๐ ๏ธ โ ๐ ๐งฐ ๐ ๐ธ ๐ โ๏ธ โณ ๐, ๐ ๐ฎ ๐ ๏ธ ๐ ๏ธ.
-
-โซ๏ธ โ๏ธ ๐ ๐ข โ
๐ฆ, ๐ฅ ๐ & ๐.
-
-โซ๏ธ ๐ ๐ฅ ๐ผ **๐ง ๐ ๏ธ ๐งพ**, & ๐ ๐ฏ ๐ ๐ฅ ๐ญ ๐ ๐ฎ "๐" **FastAPI**.
-
-/// note
-
-โณ ๐ ๐ ๏ธ โ โก ๐บ๐ธ๐. ๐ ๐ผ ๐ & Uvicorn, ๐ โ **FastAPI** โ๏ธ.
-
-///
-
-/// check | ๐ฎ **FastAPI**
-
-โ๏ธ ๐ง ๐ ๏ธ ๐งพ ๐ธ ๐ฉโ๐ป ๐ข.
-
-///
-
-### ๐บ
-
-๐บ "๐ธ", โซ๏ธ ๐ซ ๐ ๐ฝ ๐ ๏ธ ๐ซ ๐ ๐ ๐ ๐ ๐ข โณ.
-
-๐ ๐ฆ & ๐ช โ ๐จ ๐ ๐ โ๏ธ โ ๐ฝ ๐ ๐ฝ ๐พ โ๏ธ.
-
-โซ๏ธ ๐ถ ๐
, โซ๏ธ ๐ถ ๐๏ธ ๐ก, ๐ ๐งพ ๐ค ๐ ๐ก โ.
-
-โซ๏ธ ๐ โ๏ธ ๐ ๐ธ ๐ ๐ซ ๐ฏ ๐ช ๐ฝ, ๐ฉโ๐ป ๐งพ, โ๏ธ ๐ ๐ โ ๐ ๐ ๐ค-๐ โณ. ๐ ๐ ๐ซ โ ๐ช ๐ฎ โฎ๏ธ ๐-๐.
-
-๐ โ ๐, & โ "๐ธ" ๐ ๐ช โ ๐ โซ๏ธโ โซ๏ธโ ๐ช ๐ โ ๐ ๐ค ๐ ๐ง.
-
-๐ ๐ฆ ๐บ, โซ๏ธ ๐ ๐ ๐ ๐ ๐ ๐. โญ ๐ ๐ "โณ ๐ ๐ ๏ธ" ๐บ.
-
-/// check | ๐ฎ **FastAPI**
-
-โพ-๐ ๏ธ. โ โซ๏ธ โฉ ๐ & ๐ ๐งฐ & ๐ ๐ช.
-
-โ๏ธ ๐
& โฉ โ๏ธ ๐น โ๏ธ.
-
-///
-
-### ๐จ
-
-**FastAPI** ๐ซ ๐ค ๐ **๐จ**. ๐ซ โ ๐ถ ๐.
-
-โซ๏ธ ๐ ๐ค โ โ๏ธ ๐จ *๐* FastAPI ๐ธ.
-
-โ๏ธ, FastAPI ๐ค ๐ โช๏ธโก๏ธ ๐จ.
-
-**๐จ** ๐ *๐* โฎ๏ธ ๐ (๐ฉโ๐ป), โช **FastAPI** ๐ *๐* ๐ (๐ฝ).
-
-๐ซ, ๐ โ๏ธ ๐, ๐ ๐, ๐ ๐ ๐.
-
-๐จ โ๏ธ ๐ถ ๐
& ๐๏ธ ๐ง, โซ๏ธ ๐ถ โฉ โ๏ธ, โฎ๏ธ ๐ค ๐ข. โ๏ธ ๐ ๐ฐ, โซ๏ธ ๐ถ ๐๏ธ & ๐.
-
-๐ โซ๏ธโ, ๐ฌ ๐ ๐ธ:
-
-> ๐จ 1๏ธโฃ ๐ โฌ ๐ ๐ฆ ๐ ๐ฐ
-
-๐ ๐ โ๏ธ โซ๏ธ ๐ถ ๐
. ๐ผ, `GET` ๐จ, ๐ ๐ โ:
-
-```Python
-response = requests.get("http://example.com/some/url")
-```
-
-FastAPI ๐ ๐ ๏ธ *โก ๐ ๏ธ* ๐ช ๐ ๐:
-
-```Python hl_lines="1"
-@app.get("/some/url")
-def read_url():
- return {"message": "Hello World"}
-```
-
-๐ ๐ `requests.get(...)` & `@app.get(...)`.
-
-/// check | ๐ฎ **FastAPI**
-
-* โ๏ธ ๐
& ๐๏ธ ๐ ๏ธ.
-* โ๏ธ ๐บ๐ธ๐ ๐ฉโ๐ฌ ๐ (๐ ๏ธ) ๐, ๐ฏ & ๐๏ธ ๐.
-* โ๏ธ ๐ค ๐ข, โ๏ธ ๐๏ธ ๐.
-
-///
-
-### ๐ฆ / ๐
-
-๐ โ ๐ค ๐ โช๏ธโก๏ธ โณ ๐ ๐ ๏ธ ๐ง ๐ ๏ธ ๐งพ.
-
-โคด๏ธ ๐ค ๐ ๐ ๐ค ๐ฉ ๐ ๐, โ๏ธ ๐ป (โ๏ธ ๐, โ ๐ป) ๐ค ๐ฆ.
-
-& ๐ค ๐ธ ๐ฉโ๐ป ๐ข ๐ฆ ๐ ๏ธ โช โ. , ๐โโ ๐ช ๐ ๐ฆ ๐งพ ๐ ๏ธ ๐ โ โ๏ธ ๐ ๐ธ ๐ฉโ๐ป ๐ข ๐.
-
-โ, ๐ฆ ๐ ๐พ ๐, ๐ ๐.
-
-๐ โซ๏ธโ ๐โ ๐ฌ ๐ โฌ 2๏ธโฃ.0๏ธโฃ โซ๏ธ โ ๐ฌ "๐ฆ", & โฌ 3๏ธโฃ โ "๐".
-
-/// check | ๐ฎ **FastAPI**
-
-๐ ๏ธ & โ๏ธ ๐ ๐ฉ ๐ ๏ธ ๐ง, โฉ๏ธ ๐ ๐.
-
- & ๐ ๏ธ ๐ฉ-โ๏ธ ๐ฉโ๐ป ๐ข ๐งฐ:
-
-* ๐ฆ ๐
-* ๐
-
-๐ซ 2๏ธโฃ ๐ โ ๐ถ ๐ & โ, โ๏ธ ๐จ โฉ ๐, ๐ ๐ช ๐ ๐ฏ ๐ ๐ ๐ฉโ๐ป ๐ข ๐ (๐ ๐ ๐ช โ๏ธ โฎ๏ธ **FastAPI**).
-
-///
-
-### ๐บ ๐ ๐ ๏ธ
-
-๐ค ๐ ๐บ ๐ ๐ ๏ธ, โ๏ธ โฎ๏ธ ๐ฐ ๐ฐ & ๐ท ๐ ๐ฌ ๐ซ, ๐ค ๐ ๐ ๐ ๐ โ๏ธ ๐ซ, โฎ๏ธ ๐ ๐ง โ ๐ โ ๐ซ ๐.
-
-### ๐ญ
-
-1๏ธโฃ ๐ โ ๐ช ๐ ๏ธ โ๏ธ ๐ "๐ ๏ธ" โ โ ๐ โช๏ธโก๏ธ ๐ (๐) & ๐ญ โซ๏ธ ๐ ๐ณ ๐ ๐ช ๐จ ๐ ๐ธ. ๐ผ, ๐ญ ๐ โ ๐ โช๏ธโก๏ธ ๐ฝ ๐ ๐ป ๐. ๐ญ `datetime` ๐ ๐ ๐ป, โ๏ธ.
-
-โ1๏ธโฃ ๐ฆ โ ๐ ๐ ๐ฝ ๐ฌ, โ ๐ญ ๐ ๐ฝ โ, ๐ค ๐ฏ ๐ข. ๐ผ, ๐ ๐ `int`, & ๐ซ ๐ฒ ๐ป. ๐ โด๏ธ โ ๐จ ๐ฝ.
-
-๐ต ๐ฝ ๐ฌ โ๏ธ, ๐ ๐ โ๏ธ ๐ โ
โ, ๐.
-
-๐ซ โ โซ๏ธโ ๐ญ ๐ ๐. โซ๏ธ ๐ ๐, & ๐ค โ๏ธ โ๏ธ โซ๏ธ ๐ โญ.
-
-โ๏ธ โซ๏ธ โ โญ ๐ค ๐ ๐ ๐ ๐. , ๐ฌ ๐ ๐ ๐ ๐ช โ๏ธ ๐ฏ ๐จ๐ป & ๐ ๐ ๐ญ.
-
-/// check | ๐ฎ **FastAPI**
-
-โ๏ธ ๐ ๐ฌ "๐" ๐ ๐ ๐ฝ ๐ & ๐ฌ, ๐.
-
-///
-
-### Webarg
-
-โ1๏ธโฃ ๐ฆ โ โ ๐ โ ๐ โช๏ธโก๏ธ ๐จ ๐จ.
-
-Webarg ๐งฐ ๐ โ ๐ ๐ ๐ ๐ ๐ ๐ ๏ธ, ๐ ๐บ.
-
-โซ๏ธ โ๏ธ ๐ญ ๐ ๐ฝ ๐ฌ. & โซ๏ธ โ ๐ ๐ฉโ๐ป.
-
-โซ๏ธ ๐ ๐งฐ & ๐ค โ๏ธ โ๏ธ โซ๏ธ ๐ ๐โโ๏ธ, โญ โ๏ธ **FastAPI**.
-
-/// info
-
-Webarg โ ๐ ๐ญ ๐ฉโ๐ป.
-
-///
-
-/// check | ๐ฎ **FastAPI**
-
-โ๏ธ ๐ง ๐ฌ ๐จ ๐จ ๐ฝ.
-
-///
-
-### APISpec
-
-๐ญ & Webarg ๐ ๐ฌ, โ & ๐ ๏ธ ๐-๐.
-
-โ๏ธ ๐งพ โ. โคด๏ธ APISpec โ.
-
-โซ๏ธ ๐-๐ ๐ ๏ธ (& ๐ค ๐-๐ ๐โโ๏ธ).
-
-๐ โซ๏ธ ๐ท ๐ ๐ โ ๐ ๐ โ๏ธ ๐ ๐ ๐ #๏ธโฃ ๐ ๐ข ๐ ๐ฃ.
-
-& โซ๏ธ ๐ ๐ ๐.
-
-๐ โ โซ๏ธ ๐ท ๐บ, ๐, ๐, โ๏ธ.
-
-โ๏ธ โคด๏ธ, ๐ฅ โ๏ธ ๐ โ โ๏ธ โพ-โ, ๐ ๐ ๐ป (๐ฆ ๐).
-
-๐จโ๐จ ๐ช ๐ซ โน ๐
โฎ๏ธ ๐. & ๐ฅ ๐ฅ ๐ ๐ข โ๏ธ ๐ญ ๐ & ๐ญ ๐ ๐ ๐#๏ธโฃ, ๐ ๐ ๐ โ.
-
-/// info
-
-APISpec โ ๐ ๐ญ ๐ฉโ๐ป.
-
-///
-
-/// check | ๐ฎ **FastAPI**
-
-๐โ๐ฆบ ๐ ๐ฉ ๐ ๏ธ, ๐.
-
-///
-
-### ๐บ-Apispec
-
-โซ๏ธ ๐บ ๐ -, ๐ ๐ ๐ฏโโ๏ธ Webarg, ๐ญ & APISpec.
-
-โซ๏ธ โ๏ธ โน โช๏ธโก๏ธ Webarg & ๐ญ ๐ ๐ ๐ ๐, โ๏ธ APISpec.
-
-โซ๏ธ ๐ ๐งฐ, ๐ถ ๐ฝ-๐. โซ๏ธ ๐ ๐ ๐ ๐ ๐ ๐ ๐บ ๐-๐ ๐
๐ค. โซ๏ธ ๐ช โฉ๏ธ ๐ฎ ๐งพ โ ๐โโ๏ธ ๐ฉฒ & ๐.
-
-๐ โ โ๏ธ โ ๐ (โ1๏ธโฃ โ) ๐ ๐ โ.
-
-๐ ๐ ๐บ, ๐บ-Apispec โฎ๏ธ ๐ญ & Webarg ๐ ๐ ๐ฉโ๐ป ๐ โญ ๐ **FastAPI**.
-
-โ๏ธ โซ๏ธ โ๏ธ ๐ ๐ ๐บ ๐-๐ ๐. ๐ซ ๐ ๐ ๐ค (& ๐ ๐ข ๐) โ๏ธ โ๏ธ ๐ ๐:
-
-* https://github.com/tiangolo/full-stack
-* https://github.com/tiangolo/full-stack-flask-couchbase
-* https://github.com/tiangolo/full-stack-flask-couchdb
-
-& ๐ซ ๐ ๐-๐ ๐ ๐งข [**FastAPI** ๐ ๐](project-generation.md){.internal-link target=_blank}.
-
-/// info
-
-๐บ-Apispec โ ๐ ๐ญ ๐ฉโ๐ป.
-
-///
-
-/// check | ๐ฎ **FastAPI**
-
-๐ ๐ ๐ ๐, โช๏ธโก๏ธ ๐ ๐ ๐ ๐ฌ ๐ ๏ธ & ๐ฌ.
-
-///
-
-### NestJS (& ๐)
-
-๐ โ๐ซ ๐ซ ๐, NestJS ๐ธ (๐) โณ ๐ ๏ธ ๐ฎ ๐.
-
-โซ๏ธ ๐ ๐ณ ๐ ๐ โซ๏ธโ ๐ช ๐จ โฎ๏ธ ๐บ-Apispec.
-
-โซ๏ธ โ๏ธ ๐ ๏ธ ๐ ๐ โ๏ธ, ๐ฎ ๐ 2๏ธโฃ. โซ๏ธ ๐ ๐ค-ยฎ "๐" (๐ ๐ ๐ ๐ ๐ โ๏ธ ๐ค ๐ญ),, โซ๏ธ ๐ฎ ๐ญ & ๐ ๐.
-
-๐ข ๐ฌ โฎ๏ธ ๐ ๐ (๐ ๐ ๐ ๐), ๐จโ๐จ ๐โ๐ฆบ ๐.
-
-โ๏ธ ๐ ๐ ๐ซ ๐ก โฎ๏ธ ๐น ๐ธ, โซ๏ธ ๐ซ๐ โ๏ธ ๐ ๐ ๐ฌ ๐ฌ, ๐ ๏ธ & ๐งพ ๐ ๐ฐ. โฉ๏ธ ๐ & ๐ง ๐ซ, ๐ค ๐ฌ, ๐ ๏ธ & ๐ง ๐ โก, โซ๏ธ ๐ช ๐ฎ ๐จโ๐จ ๐ ๐ฅ. , โซ๏ธ โถ๏ธ๏ธ ๐.
-
-โซ๏ธ ๐ช ๐ซ ๐ต ๐ ๐ท ๐ถ ๐. , ๐ฅ ๐ป ๐ช ๐จ ๐ป ๐ ๐ โ๏ธ ๐ ๐ ๐ ๐ ๐ฆ ๐ป ๐, โซ๏ธ ๐ซ๐ โ ๐ & โ.
-
-/// check | ๐ฎ **FastAPI**
-
-โ๏ธ ๐ ๐ โ๏ธ ๐ ๐จโ๐จ ๐โ๐ฆบ.
-
-โ๏ธ ๐๏ธ ๐ ๐ โ๏ธ. ๐ ๐ ๐ ๐ ๐.
-
-///
-
-### ๐คฃ
-
-โซ๏ธ ๐ ๐ฅ ๐ถ โฉ ๐ ๐ ๏ธ โ๏ธ ๐ `asyncio`. โซ๏ธ โ ๐ถ ๐ ๐บ.
-
-/// note | ๐ก โน
-
-โซ๏ธ โ๏ธ `uvloop` โฉ๏ธ ๐ข ๐ `asyncio` โฐ. ๐ โซ๏ธโ โ โซ๏ธ โฉ.
-
-โซ๏ธ ๐ฏ ๐ฎ Uvicorn & ๐, ๐ โณ โฉ ๐ ๐คฃ ๐ ๐.
-
-///
-
-/// check | ๐ฎ **FastAPI**
-
-๐ ๐ โ๏ธ ๐ ๐ญ.
-
-๐ โซ๏ธโ **FastAPI** โ๏ธ ๐ ๐, โซ๏ธ โฉ ๐ ๏ธ ๐ช (๐ฏ ๐ฅ-๐ฅณ ๐).
-
-///
-
-### ๐ฆ
-
-๐ฆ
โ1๏ธโฃ โ ๐ญ ๐ ๐ ๏ธ, โซ๏ธ ๐ง โญ, & ๐ท ๐ ๐ ๐ ๏ธ ๐ ๐ค.
-
-โซ๏ธ ๐ โ๏ธ ๐ข ๐ ๐จ 2๏ธโฃ ๐ข, 1๏ธโฃ "๐จ" & 1๏ธโฃ "๐จ". โคด๏ธ ๐ "โ" ๐ โช๏ธโก๏ธ ๐จ, & "โ" ๐ ๐จ. โฉ๏ธ ๐ ๐ง, โซ๏ธ ๐ซ ๐ช ๐ฃ ๐จ ๐ข & ๐ช โฎ๏ธ ๐ฉ ๐ ๐ ๐ ๐ข ๐ข.
-
-, ๐ฝ ๐ฌ, ๐ ๏ธ, & ๐งพ, โ๏ธ โ ๐, ๐ซ ๐. โ๏ธ ๐ซ โ๏ธ ๐ ๏ธ ๐ ๏ธ ๐ ๐ ๐ฆ
, ๐ ๐ค. ๐ ๐ ๐บ ๐จ ๐ ๐ ๏ธ ๐ ๐ฎ ๐ฆ
๐ง, โ๏ธ 1๏ธโฃ ๐จ ๐ & 1๏ธโฃ ๐จ ๐ ๐ข.
-
-/// check | ๐ฎ **FastAPI**
-
-๐ ๐ ๐ค ๐ ๐ญ.
-
-โคด๏ธ โฎ๏ธ ๐ค (๐ค โ๏ธ ๐ ๐ฆ
) ๐ฎ **FastAPI** ๐ฃ `response` ๐ข ๐ข.
-
-๐ FastAPI โซ๏ธ ๐ฆ, & โ๏ธ โด๏ธ โ ๐, ๐ช, & ๐ ๐ ๐.
-
-///
-
-### โจ
-
-๐ค ๐ โจ ๐ฅ โถ๏ธ ๐ **FastAPI**. & โซ๏ธ โ๏ธ ๐ ๐ญ:
-
-* โ๏ธ ๐ ๐ ๐ ๐.
-* ๐ฌ & ๐งพ โช๏ธโก๏ธ ๐ซ ๐.
-* ๐ ๐ โ๏ธ.
-
-โซ๏ธ ๐ซ โ๏ธ ๐ฝ ๐ฌ, ๐ ๏ธ & ๐งพ ๐ฅ-๐ฅณ ๐ ๐ Pydantic, โซ๏ธ โ๏ธ ๐ฎ ๐. , ๐ซ ๐ฝ ๐ ๐ ๐ ๐ซ โป ๐ช.
-
-โซ๏ธ ๐ ๐ฅ ๐ ๐
๐ ๐ณ. & โซ๏ธ โ๏ธ ๐ ๐จ๐ป (โฉ๏ธ ๐ซ), โซ๏ธ ๐ซ ๐ง โ ๐ โ-๐ญ ๐ ๐งฐ ๐ Uvicorn, ๐ & ๐คฃ.
-
-๐ ๐ โ๏ธ ๐ ๐ค-ยฎ ๐ & ๐ โ ๐งข ๐ ๐ฃ ๐. , โซ๏ธ ๐ซ ๐ช ๐ฃ ๐
๐ 1๏ธโฃ "๐ฆฒ" ๐ ๐ ๐ฏ ๐.
-
-๐ฃ ๐ฃ ๐ ๐ฅ, โ๏ธ ๐ข ๐ฃ ๐ ๐ฅ (โฉ๏ธ โ๏ธ ๐จโ๐จ ๐ ๐ช ๐ฅ โถ๏ธ๏ธ ๐ ๐ ๐ข ๐ ๐ต ๐). ๐ ๐ โ โณ ๐จ โซ๏ธ ๐ โ ๐บ (& ๐) ๐จ โซ๏ธ. โซ๏ธ ๐ ๐ ๐ ๐ ๐ถ ๐ ๐.
-
-/// check | ๐ฎ **FastAPI**
-
-๐ฌ โ ๐ฌ ๐ฝ ๐ โ๏ธ "๐ข" ๐ฒ ๐ท ๐ข. ๐ ๐ ๐จโ๐จ ๐โ๐ฆบ, & โซ๏ธ ๐ซ ๐ช Pydantic โญ.
-
-๐ ๐ค ๐ฎ ๐ ๏ธ ๐ Pydantic, ๐โ๐ฆบ ๐ ๐ฌ ๐ ๐ (๐ ๐ ๐ ๏ธ ๐ โช ๐ช Pydantic).
-
-///
-
-### ๐ค
-
-๐ค ๐ ๐ฅ ๐ ๏ธ ๐ ๏ธ ๐ ๐ ๏ธ ๐ข ๐ โ๏ธ ๐ ๐ ๐. ๐ ๐ ๐ญ ๐ ๐ฎ ๐ ๐งฐ ๐.
-
-โซ๏ธ โ๏ธ ๐ ๐ ๐ฎ ๐ โฉ๏ธ ๐ฉ ๐ ๐, โ๏ธ โซ๏ธ ๐ฆ ๐ โฉ.
-
-โซ๏ธ ๐ ๐ฅ ๐ ๏ธ ๐ ๐ ๐ ๐ฃ ๐ ๐ ๏ธ ๐ป.
-
-โซ๏ธ ๐ซ โ๏ธ ๐ ๐ฉ ๐ ๐ & ๐ป ๐. โซ๏ธ ๐ซ๐ ๐ฏ ๐ ๏ธ โซ๏ธ โฎ๏ธ ๐ ๐งฐ, ๐ ๐ฆ ๐. โ๏ธ ๐, โซ๏ธ ๐ถ ๐ก ๐ญ.
-
-โซ๏ธ โ๏ธ ๐, โญ โ: โ๏ธ ๐ ๐ ๏ธ, โซ๏ธ ๐ช โ ๐ & ๐ณ๐จ.
-
-โซ๏ธ โ๏ธ ๐ โฎ๏ธ ๐ฉ ๐ ๐ ๐ธ ๐ ๏ธ (๐จ๐ป), โซ๏ธ ๐ช ๐ซ ๐ต *๏ธโฃ & ๐ ๐, ๐ โซ๏ธ โ๏ธ โ ๐ญ ๐โโ๏ธ.
-
-/// info
-
-๐ค โ โก ๐, ๐ ๐ผ `isort`, ๐ ๐งฐ ๐ ๐ ๐ ๐ ๐.
-
-///
-
-/// check | ๐ญ ๐ฎ **FastAPI**
-
-๐ค ๐ฎ ๐ APIStar, & 1๏ธโฃ ๐งฐ ๐ค ๐ ๐ ๐, ๐ APIStar.
-
-๐ค โน ๐ **FastAPI** โ๏ธ ๐ ๐ ๐ ๐ฃ ๐ข, & ๐ ๐ โ ๐ ๏ธ ๐.
-
-๐ค ๐ฎ **FastAPI** ๐ฃ `response` ๐ข ๐ข โ ๐ & ๐ช.
-
-///
-
-### APIStar (<= 0๏ธโฃ.5๏ธโฃ)
-
-โถ๏ธ๏ธ โญ ๐ค ๐ **FastAPI** ๐ค ๐ **APIStar** ๐ฝ. โซ๏ธ โ๏ธ ๐ ๐ ๐ค ๐ & โ๏ธ ๐ ๐ง.
-
-โซ๏ธ ๐ ๐ฅ ๐ ๏ธ ๐ ๏ธ โ๏ธ ๐ ๐ ๐ ๐ฃ ๐ข & ๐จ ๐ ๐ค โฑ ๐ (โญ NestJS & โจ). ๐ค ๐ โซ๏ธ ๐
โ๏ธ ๐ ๐ ๐ฐ ๐ค. โ๏ธ APIStar โ๏ธ ๐ ๐ฉ.
-
-โซ๏ธ โ๏ธ ๐ง ๐ฝ ๐ฌ, ๐ฝ ๐ ๏ธ & ๐ ๐ โก โ๏ธ ๐ ๐ ๐ ๐ ๐ ๐ฅ.
-
-๐ช ๐ ๐ ๐ซ โ๏ธ ๐ ๐ ๐ ๐ ๐ Pydantic, โซ๏ธ ๐ ๐
๐ ๐ญ,, ๐จโ๐จ ๐โ๐ฆบ ๐ซ๐ ๐, โ๏ธ, APIStar ๐ ๐ช ๐.
-
-โซ๏ธ โ๏ธ ๐ ๐ญ ๐ ๐ฐ (๐ด ๐ฅ ๐).
-
-๐ฅ, โซ๏ธ ๐ซ โ๏ธ ๐ง ๐ ๏ธ ๐งพ ๐ธ ๐, โ๏ธ ๐ค ๐ญ ๐ค ๐ช ๐ฎ ๐ฆ ๐ โซ๏ธ.
-
-โซ๏ธ โ๏ธ ๐ ๐ โ๏ธ. โซ๏ธ โ ๐ค-ยฎ ๐ฆฒ, ๐ ๐งฐ ๐ฌ ๐. โ๏ธ, โซ๏ธ ๐ โ.
-
-๐ค ๐
๐ช โ๏ธ โซ๏ธ ๐ ๐, โซ๏ธ ๐ซ โ๏ธ ๐โโ ๐ ๏ธ,, ๐ค ๐ซ ๐ซ โ ๐ โ ๐ค โ๏ธ โฎ๏ธ ๐-๐ ๐ โ๏ธ ๐ ๐บ-Apispec. ๐ค โ๏ธ ๐ ๐ ๐ โ ๐ฒ ๐จ โ ๐ ๐ ๏ธ.
-
-โ๏ธ โคด๏ธ, ๐ ๐ฏ ๐.
-
-โซ๏ธ ๐
โโ ๐ ๐ ๏ธ ๐ธ ๐ ๏ธ, ๐ผ ๐ช ๐ฏ ๐ ๐.
-
-๐ APIStar โ ๐งฐ โ ๐ ๐ง, ๐ซ ๐ธ ๐ ๏ธ.
-
-/// info
-
-APIStar โ โก ๐บ๐ธ๐. ๐ ๐จ ๐ โ:
-
-* โณ ๐ ๐ ๏ธ
-* ๐ (โ **FastAPI** โ๏ธ)
-* Uvicorn (โ๏ธ ๐ & **FastAPI**)
-
-///
-
-/// check | ๐ฎ **FastAPI**
-
-๐.
-
-๐ญ ๐ฃ ๐ ๐ (๐ฝ ๐ฌ, ๐ ๏ธ & ๐งพ) โฎ๏ธ ๐ ๐ ๐, ๐ ๐ ๐ฐ ๐ ๐ ๐จโ๐จ ๐โ๐ฆบ, ๐ณ ๐ค ๐ค ๐ ๐ญ.
-
- & โฎ๏ธ ๐ ๐ ๐ฐ ๐ ๐ ๏ธ & ๐ฌ ๐ ๐ ๐, APIStar ๐ ๐ ๐ช.
-
-โคด๏ธ APIStar โ๏ธ ๐ ๐ฝ & ๐ โ, & ๐ ๐ป ๐ โ
โ๏ธ. ๐ ๐ ๐ ๐ **FastAPI**.
-
-๐ค ๐ค **FastAPI** "๐ ๐จโ๐ผ" APIStar, โช ๐ & ๐ โ, โจ โ๏ธ, & ๐ ๐, โ๏ธ ๐ ๐ซ โช๏ธโก๏ธ ๐ ๐ โฎ๏ธ ๐งฐ.
-
-///
-
-## โ๏ธ **FastAPI**
-
-### Pydantic
-
-Pydantic ๐ ๐ฌ ๐ฝ ๐ฌ, ๐ ๏ธ & ๐งพ (โ๏ธ ๐ป ๐) โ๏ธ ๐ ๐ ๐ ๐.
-
-๐ โ โซ๏ธ ๐ถ ๐๏ธ.
-
-โซ๏ธ โญ ๐ญ. ๐ โซ๏ธ โฉ ๐ ๐ญ ๐. & โซ๏ธ โ๏ธ ๐ ๐ ๐ ๐ ๐, ๐จโ๐จ ๐โ๐ฆบ ๐.
-
-/// check | **FastAPI** โ๏ธ โซ๏ธ
-
-๐ต ๐ ๐ฝ ๐ฌ, ๐ฝ ๐ ๏ธ & ๐ง ๐ท ๐งพ (โ๏ธ ๐ ๐ป ๐).
-
-**FastAPI** โคด๏ธ โ ๐ ๐ป ๐ ๐ฝ & ๐ฎ โซ๏ธ ๐, โ๏ธ โช๏ธโก๏ธ ๐ ๐ ๐ โซ๏ธ ๐จ.
-
-///
-
-### ๐
-
-๐ ๐ฟ ๐ซ ๐ ๏ธ/๐งฐ, โ ๐ฏ ๐ โ-๐ญ โณ ๐โ๐ฆบ.
-
-โซ๏ธ ๐ถ ๐
& ๐๏ธ. โซ๏ธ ๐ง ๐ช ๐ง, & โ๏ธ ๐ง ๐ฆฒ.
-
-โซ๏ธ โ๏ธ:
-
-* ๐ค ๐ ๐ญ.
-* *๏ธโฃ ๐โ๐ฆบ.
-* -๐ ๏ธ ๐ฅ ๐.
-* ๐ด & ๐คซ ๐.
-* ๐ฏ ๐ฉโ๐ป ๐ ๐ ๐ธ๐ฒ.
-* โ, ๐, ๐ป ๐, ๐ ๐จ.
-* ๐ & ๐ช ๐โ๐ฆบ.
-* 1๏ธโฃ0๏ธโฃ0๏ธโฃ ๐ฏ ๐ฏ ๐ฐ.
-* 1๏ธโฃ0๏ธโฃ0๏ธโฃ ๐ฏ ๐ โ โ.
-* ๐ฉโโคโ๐จ ๐๏ธ ๐.
-
-๐ โณ โฉ ๐ ๐ ๏ธ ๐ฏ. ๐ด ๐ฅ Uvicorn, โ ๐ซ ๐ ๏ธ, โ๏ธ ๐ฝ.
-
-๐ ๐ ๐ ๐ฐ ๐ธ ๐ธ ๐ ๏ธ.
-
-โ๏ธ โซ๏ธ ๐ซ ๐ ๐ง ๐ฝ ๐ฌ, ๐ ๏ธ โ๏ธ ๐งพ.
-
-๐ 1๏ธโฃ ๐ ๐ ๐ **FastAPI** ๐ฎ ๐ ๐, ๐ โ๏ธ ๐ ๐ ๐ ๐ (โ๏ธ Pydantic). ๐, โ ๐ ๐ โ๏ธ, ๐โโ ๐, ๐ ๐ โก, โ๏ธ.
-
-/// note | ๐ก โน
-
-๐ซ ๐ "๐ฉ" โ ๐ ๏ธ โณ ๐ ๐ ๐จโ๐. โซ๏ธ ๐ซ "๐ ๐ฉ" (๐ฉ๐ฌ), ๐ ๐ซ ๐ ๏ธ ๐จ ๐.
-
-๐, โซ๏ธ โช โ โ๏ธ "๐ฉ" ๐ ๐งฐ. ๐ ๐ ๐ ๐ ๏ธ, ๐ ๐ช ๐ Uvicorn ๐ ๐ ๐ซ ๐ฝ (๐ ๐ธ โ๏ธ Hypercorn), โ๏ธ ๐ ๐ช ๐ฎ ๐ซ ๐ ๐งฐ, ๐ `python-socketio`.
-
-///
-
-/// check | **FastAPI** โ๏ธ โซ๏ธ
-
-๐ต ๐ ๐ ๐ธ ๐. โ โ ๐ ๐.
-
-๐ `FastAPI` โซ๏ธ ๐ ๐ โช๏ธโก๏ธ ๐ `Starlette`.
-
-, ๐ณ ๐ ๐ ๐ช โฎ๏ธ ๐, ๐ ๐ช โซ๏ธ ๐ โฎ๏ธ **FastAPI**, โซ๏ธ ๐ ๐ ๐ ๐.
-
-///
-
-### Uvicorn
-
-Uvicorn ๐ฉ-โฉ ๐ซ ๐ฝ, ๐ ๐ uvloop & httptool.
-
-โซ๏ธ ๐ซ ๐ธ ๐ ๏ธ, โ๏ธ ๐ฝ. ๐ผ, โซ๏ธ ๐ซ ๐ ๐งฐ ๐น โก. ๐ ๐ณ ๐ ๐ ๏ธ ๐ ๐ (โ๏ธ **FastAPI**) ๐ ๐ ๐ ๐.
-
-โซ๏ธ ๐ ๐ฝ ๐ & **FastAPI**.
-
-/// check | **FastAPI** ๐ โซ๏ธ
-
-๐ ๐ธ ๐ฝ ๐ **FastAPI** ๐ธ.
-
-๐ ๐ช ๐ โซ๏ธ โฎ๏ธ ๐, โ๏ธ ๐ ๐-๐ ๏ธ ๐ฝ.
-
-โ
๐
โน [๐ ๏ธ](deployment/index.md){.internal-link target=_blank} ๐.
-
-///
-
-## ๐ & ๐
-
-๐ค, ๐ฌ, & ๐ ๐บ ๐ Uvicorn, ๐ & FastAPI, โ
๐ ๐ [๐](benchmarks.md){.internal-link target=_blank}.
diff --git a/docs/em/docs/async.md b/docs/em/docs/async.md
deleted file mode 100644
index cde778b0f..000000000
--- a/docs/em/docs/async.md
+++ /dev/null
@@ -1,442 +0,0 @@
-# ๐ ๏ธ & ๐ / โ
-
-โน ๐ `async def` โ *โก ๐ ๏ธ ๐ข* & ๐ฅ ๐ ๐ ๐, ๐ ๏ธ, & ๐.
-
-## ๐ โ
-
-๐;๐ฉโโ๏ธ:
-
-๐ฅ ๐ โ๏ธ ๐ฅ ๐ฅณ ๐ ๐ ๐ฌ ๐ ๐ค ๐ซ โฎ๏ธ `await`, ๐:
-
-```Python
-results = await some_library()
-```
-
-โคด๏ธ, ๐ฃ ๐ *โก ๐ ๏ธ ๐ข* โฎ๏ธ `async def` ๐:
-
-```Python hl_lines="2"
-@app.get('/')
-async def read_results():
- results = await some_library()
- return results
-```
-
-/// note
-
-๐ ๐ช ๐ด โ๏ธ `await` ๐ ๐ข โ โฎ๏ธ `async def`.
-
-///
-
----
-
-๐ฅ ๐ โ๏ธ ๐ฅ ๐ฅณ ๐ ๐ ๐ โฎ๏ธ ๐ณ (๐ฝ, ๐ ๏ธ, ๐ โ๏ธ, โ๏ธ.) & ๐ซ โ๏ธ ๐โ๐ฆบ โ๏ธ `await`, (๐ โณ ๐ผ ๐
๐ฝ ๐), โคด๏ธ ๐ฃ ๐ *โก ๐ ๏ธ ๐ข* ๐, โฎ๏ธ `def`, ๐:
-
-```Python hl_lines="2"
-@app.get('/')
-def results():
- results = some_library()
- return results
-```
-
----
-
-๐ฅ ๐ ๐ธ (๐ซ) ๐ซ โ๏ธ ๐ โฎ๏ธ ๐ณ ๐ & โ โซ๏ธ ๐จ, โ๏ธ `async def`.
-
----
-
-๐ฅ ๐ ๐ซ ๐ญ, โ๏ธ ๐ `def`.
-
----
-
-**๐**: ๐ ๐ช ๐ `def` & `async def` ๐ *โก ๐ ๏ธ ๐ข* ๐
๐ ๐ช & ๐ฌ ๐ 1๏ธโฃ โ๏ธ ๐ ๐ ๐. FastAPI ๐ โถ๏ธ๏ธ ๐ โฎ๏ธ ๐ซ.
-
-๐, ๐ ๐ผ ๐, FastAPI ๐ ๐ท ๐ & ๐ถ โฉ.
-
-โ๏ธ ๐ ๐ถ ๐, โซ๏ธ ๐ ๐ช ๐ญ ๐ ๏ธ.
-
-## ๐ก โน
-
-๐ โฌ ๐ โ๏ธ ๐โ๐ฆบ **"๐ ๐"** โ๏ธ ๐ณ ๐ค **"๐"**, โฎ๏ธ **`async` & `await`** โ.
-
-โก๏ธ ๐ ๐ ๐ค ๐ ๐ ๐:
-
-* **๐ ๐**
-* **`async` & `await`**
-* **๐**
-
-## ๐ ๐
-
-๐ ๐ โ ๐ ๐ช๐ธ ๐ถ โ๏ธ ๐ ๐ฌ ๐ป / ๐ ๐ถ ๐ โ ๐, โซ๏ธ ๐ถ ๐ โ๏ธ โ *๐ณ ๐* ๐ ๐ฑ ๐. โก๏ธ ๐ฌ ๐ *๐ณ ๐* ๐ค "๐-๐" ๐ถ.
-
-, โฎ๏ธ ๐ ๐ฐ, ๐ป ๐ช ๐ถ & ๐ ๐ท, โช "๐-๐" ๐ถ ๐.
-
-โคด๏ธ ๐ป / ๐ ๐ถ ๐ ๐ ๐ ๐ ๐ฐ โซ๏ธ โ๏ธ ๐ค โฉ๏ธ โซ๏ธ โ ๐, โ๏ธ ๐โ โซ๏ธ ๐ถ ๐ ๐ ๐ท โซ๏ธ โ๏ธ ๐ โ. & โซ๏ธ ๐ถ ๐ ๐ ๐ฅ ๐ ๐ โซ๏ธ โ โ๏ธ โช ๐, ๐คธ โซ๏ธโ โซ๏ธ โ๏ธ.
-
-โญ, โซ๏ธ ๐ถ โ ๐ฅ ๐ ๐ (โก๏ธ ๐ฌ, ๐ "๐-๐" ๐ถ) & ๐ฃ โซ๏ธโ โซ๏ธ โ๏ธ โฎ๏ธ โซ๏ธ.
-
-๐ "โ ๐ณ ๐" ๐ ๐ ๐ค/๐
พ ๐ ๏ธ ๐ ๐ถ "๐" (๐ฌ ๐
๐น & ๐พ ๐พ), ๐ โ:
-
-* ๐ โช๏ธโก๏ธ ๐ฉโ๐ป ๐จ ๐ ๐ธ
-* ๐ ๐จ ๐ ๐ ๐จ ๐ฉโ๐ป ๐ ๐ธ
-* ๐ ๐ ๐พ โ โ๏ธ & ๐ค ๐ ๐
-* ๐ ๐ ๐ ๐ค โ๏ธ โ ๐พ
-* ๐ฐ ๐ ๏ธ ๐ ๏ธ
-* ๐ฝ ๐ ๏ธ ๐
-* ๐ฝ ๐ข ๐จ ๐
-* โ๏ธ.
-
-๐ ๏ธ ๐ฐ ๐ด โด๏ธ โ ๐ค/๐
พ ๐ ๏ธ, ๐ซ ๐ค ๐ซ "๐ค/๐
พ ๐" ๐ ๏ธ.
-
-โซ๏ธ ๐ค "๐" โฉ๏ธ ๐ป / ๐ ๐ซ โ๏ธ "๐" โฎ๏ธ ๐ ๐, โ โ ๐ ๐ ๐ ๐, โช ๐จ ๐ณ, ๐ช โ ๐ ๐ & ๐ฃ ๐ท.
-
-โฉ๏ธ ๐, ๐โโ "๐" โ๏ธ, ๐ ๐, ๐ ๐ช โ โธ ๐ฅ ๐ (โฒ) ๐ป / ๐ ๐ โซ๏ธโ โซ๏ธ ๐ถ, & โคด๏ธ ๐ ๐ โ ๐ & ๐ฃ ๐ท โฎ๏ธ ๐ซ.
-
-"๐" (๐ฝ "๐") ๐ซ ๐ โ๏ธ โ "๐", โฉ๏ธ ๐ป / ๐ โฉ ๐ ๐ถ ๐ โญ ๐ ๐ ๐, ๐ฅ ๐ ๐ ๐ โ.
-
-### ๐ ๏ธ & ๐
-
-๐ ๐ญ **๐** ๐ ๐ฌ ๐ ๐ฃ ๐ค **"๐ ๏ธ"**. โซ๏ธ ๐ โช๏ธโก๏ธ **"๐"**.
-
-**๐ ๏ธ** & **๐** ๐ฏโโ๏ธ ๐ "๐ ๐ ๐ฅ ๐
โ๏ธ ๐ ๐ ๐ฐ".
-
-โ๏ธ โน ๐ *๐ ๏ธ* & *๐* ๐.
-
-๐ ๐บ, ๐ ๐ ๐ ๐ ๐:
-
-### ๐ ๏ธ ๐
-
-๐ ๐ถ โฎ๏ธ ๐ ๐ฅฐ ๐ค โฉ ๐ฅ, ๐ ๐ง โธ โช ๐ง โ โ โช๏ธโก๏ธ ๐ซ๐ซ ๐ช ๐. ๐ถ
-
-
-
-โคด๏ธ โซ๏ธ ๐ ๐, ๐ ๐ฅ ๐ โ 2๏ธโฃ ๐ถ ๐ ๐ ๐ ๐ฅฐ & ๐. ๐ถ ๐ถ
-
-
-
-๐ง ๐ฌ ๐ณ ๐ณ ๐จโ๐ณ ๐ซ ๐ญ ๐ซ โ๏ธ ๐ ๐ ๐ (โ๏ธ ๐ซ โณ ๐ ๐ โฎ๏ธ ๐ฉโ๐ป).
-
-
-
-๐ ๐ธ. ๐ถ
-
-๐ง ๐ค ๐ ๐ข ๐ ๐.
-
-
-
-โช ๐ โ, ๐ ๐ถ โฎ๏ธ ๐ ๐ฅฐ & โ ๐, ๐ ๐ง & ๐ฌ โฎ๏ธ ๐ ๐ฅฐ ๐ ๐ฐ (๐ ๐ ๐ถ ๐ & โ ๐ฐ ๐).
-
-๐ ๐ ๐ โฎ๏ธ ๐ ๐ฅฐ, โช ๐ โ ๐, ๐ ๐ช ๐ธ ๐ ๐ฐ ๐ฎ โ ๐, ๐จ & ๐ ๐ ๐ฅฐ ๐ถ ๐ถ ๐ถ.
-
-
-
-โช โ & ๐ฌ ๐ ๐ฅฐ, โช๏ธโก๏ธ ๐ฐ ๐ฐ, ๐ โ
๐ข ๐ฅ ๐ โฒ ๐ ๐ฅ โซ๏ธ ๐ ๐ โช.
-
-โคด๏ธ โ, โซ๏ธ ๐ ๐ ๐. ๐ ๐ถ โฒ, ๐ค ๐ ๐ & ๐ ๐ ๐.
-
-
-
-๐ & ๐ ๐ฅฐ ๐ด ๐ & โ๏ธ ๐ ๐ฐ. ๐ถ
-
-
-
-/// info
-
-๐น ๐ผ ๐ฏ ๐. ๐ถ
-
-///
-
----
-
-๐ ๐ ๐ป / ๐ ๐ถ ๐ ๐.
-
-โช ๐ โธ, ๐ โฝ ๐ถ, โ ๐ ๐, ๐ซ ๐จ ๐ณ ๐ถ "๐". โ๏ธ โธ โฉ โฉ๏ธ ๐ง ๐ด โ โ (๐ซ ๐ ๐ซ), ๐ ๐.
-
-โคด๏ธ, ๐โ โซ๏ธ ๐ ๐, ๐ โ "๐" ๐ท, ๐ ๐ ๏ธ ๐ฃ, ๐ญ โซ๏ธโ ๐ ๐, ๐ค ๐ ๐ฅฐ โ, ๐ธ, โ
๐ ๐ ๐ค โ ๐ต โ๏ธ ๐ณ, โ
๐ ๐ ๐ โ, โ
๐ โ โ๏ธ โ ๐ฌ, โ๏ธ.
-
-โ๏ธ โคด๏ธ, โ๏ธ ๐ ๐ซ โ๏ธ ๐ ๐, ๐ ๐ท โฎ๏ธ ๐ง "๐ โธ" โธ, โฉ๏ธ ๐ โ๏ธ โ ๐ถ ๐ ๐ ๐.
-
-โ๏ธ ๐ ๐ถ โ๏ธ โช๏ธโก๏ธ โฒ & ๐ง ๐ โฎ๏ธ ๐ข ๐ ๐, ๐ ๐ช ๐ ๐ถ ๐ ๐ ๐ ๐ฅฐ, & "๐ท" ๐ถ ๐ถ ๐ ๐. โคด๏ธ ๐ ๐ ๐จ ๐ณ ๐ถ "๐" ๐ โฎ๏ธ ๐ ๐ฅฐ ๐ถ.
-
-โคด๏ธ ๐ง ๐ถ ๐ฌ "๐ค ๐ โฎ๏ธ ๐จ ๐" ๐ฎ ๐ ๐ข ๐ โฒ ๐ฅ, โ๏ธ ๐ ๐ซ ๐ฆ ๐ ๐ โช ๐โ ๐ฅ ๐ข ๐ ๐ ๐ ๐ข. ๐ ๐ญ ๐
โโ 1๏ธโฃ ๐ ๐ ๐ ๐ โฉ๏ธ ๐ โ๏ธ ๐ข ๐ ๐, & ๐ซ โ๏ธ ๐ซ.
-
-๐ โ ๐ ๐ฅฐ ๐ ๐ (๐ โฎ๏ธ ๐ท ๐ถ / ๐ โ ๐ ๏ธ ๐ถ), ๐ ๐ & ๐ฌ ๐ ๐ ๐ ๐ โธ.
-
-โคด๏ธ ๐ ๐ถ โฒ ๐ถ, โถ๏ธ ๐ ๐ ๐ ๐ ๐ถ, โ ๐, ๐ฌ ๐ & โ ๐ซ ๐. ๐ ๐ ๐ ๐ / ๐ ๐ โฎ๏ธ โฒ โน. ๐ ๐, โ ๐ ๐, "๐ด ๐" ๐ถ ๐ถ, โ๏ธ โฎ๏ธ 1๏ธโฃ "๐ค ๐" ๐ โน.
-
-### ๐ ๐
-
-๐ โก๏ธ ๐ ๐ซ โ๐ซ ๐ซ "๐ ๏ธ ๐", โ๏ธ "๐ ๐".
-
-๐ ๐ถ โฎ๏ธ ๐ ๐ฅฐ ๐ค ๐ โฉ ๐ฅ.
-
-๐ ๐ง โธ โช ๐ (โก๏ธ ๐ฌ 8๏ธโฃ) ๐ง ๐ ๐ ๐ฐ ๐ณ โ โ โช๏ธโก๏ธ ๐ซ๐ซ ๐ช ๐.
-
-๐ฑ โญ ๐ โ ๐ซ ๐ ๐ โญ ๐ โฒ โฉ๏ธ ๐ 8๏ธโฃ ๐ง ๐ถ & ๐ ๐ โถ๏ธ๏ธ โ๏ธ โญ ๐โโ โญ โ.
-
-
-
-โคด๏ธ โซ๏ธ ๐ ๐ ๐, ๐ ๐ฅ ๐ โ 2๏ธโฃ ๐ถ ๐ ๐ ๐ ๐ฅฐ & ๐.
-
-๐ ๐ธ ๐ถ.
-
-
-
-๐ง ๐ถ ๐จโ๐ณ.
-
-๐ โ, ๐ง ๐ช โฒ ๐ถ, ๐ ๐
โโ 1๏ธโฃ ๐ โ ๐ ๐ โญ ๐, ๐ค ๐
โโ ๐ข ๐.
-
-
-
-๐ & ๐ ๐ฅฐ ๐ฉ ๐ซ โก๏ธ ๐ ๐ค ๐ช ๐ & โ ๐ ๐ ๐โ ๐ซ ๐ฌ, ๐ ๐ซ๐ ๐ธ ๐ ๐ ๐ฅฐ. ๐ถ
-
-๐ "๐" ๐ท, ๐ "๐" โฎ๏ธ ๐ง/๐ณ ๐ถ ๐ถ. ๐ โ๏ธ โ ๐ถ & ๐ค โ ๐ ๐ ๐ง/๐ณ ๐ถ ๐ถ ๐ ๐ & ๐ค ๐ซ ๐, โ๏ธ โช, ๐ฑ ๐ ๐ช โ ๐ซ.
-
-
-
-โคด๏ธ ๐ ๐ง/๐ณ ๐ถ ๐ถ ๐ ๐ ๐ โฎ๏ธ ๐ ๐, โฎ๏ธ ๐ ๐ฐ โ ๐ถ ๐ค ๐ช โฒ.
-
-
-
-๐ โ ๐ ๐ & ๐ถ ๐ โฎ๏ธ ๐ ๐ฅฐ.
-
-๐ ๐ด ๐ซ, & ๐ ๐จ. โน
-
-
-
-๐ค ๐ซ ๐
๐ฌ โ๏ธ ๐ ๐
๐ฐ ๐ธ โ ๐ถ ๐ช โฒ. ๐ถ
-
-/// info
-
-๐น ๐ผ ๐ฏ ๐. ๐ถ
-
-///
-
----
-
-๐ ๐ ๐ ๐, ๐ ๐ป / ๐ ๐ถ โฎ๏ธ 2๏ธโฃ ๐น (๐ & ๐ ๐ฅฐ), ๐ฏโโ๏ธ โ ๐ถ & ๐ก ๐ซ ๐ ๐ถ "โ ๐ โฒ" ๐ถ ๐ ๐ฐ.
-
-โฉ ๐ฅ ๐ช โ๏ธ 8๏ธโฃ ๐น (๐ง/๐ณ). โช ๐ ๏ธ ๐ ๐ช ๐ช โ๏ธ โ๏ธ ๐ด 2๏ธโฃ (1๏ธโฃ ๐ง & 1๏ธโฃ ๐ณ).
-
-โ๏ธ, ๐ ๐ก ๐ซ ๐. ๐ถ
-
----
-
-๐ ๐ ๐ ๐ ๐ ๐. ๐ถ
-
-๐
"๐ฐ ๐จโโคโ๐จ" ๐ผ ๐, ๐ ๐ฆ.
-
-๐ โณ, ๐ ๐ฆ โ๏ธ ๐ ๐ง ๐ถ ๐ถ ๐ถ ๐ถ ๐ถ ๐ถ ๐ถ ๐ถ & ๐ฆ โธ ๐ถ ๐ถ ๐ถ ๐ถ ๐ถ ๐ถ ๐ถ ๐ถ.
-
-๐ ๐ง ๐จ ๐ ๐ท โฎ๏ธ 1๏ธโฃ ๐ฉโ๐ป โฎ๏ธ ๐ ๐ถ ๐ถ ๐ถ.
-
-& ๐ โ๏ธ โ ๐ถ โธ ๐ ๐ฐ โ๏ธ ๐ ๐ธ ๐ ๐.
-
-๐ ๐ฒ ๐ซ๐ ๐ โ ๐ ๐ฅฐ ๐ถ โฎ๏ธ ๐ ๐ท ๐ฆ ๐ถ.
-
-### ๐ ๐
-
-๐ ๐ "โฉ ๐ฅ ๐ โฎ๏ธ ๐ ๐ฅฐ", ๐ค ๐ โ ๐ถ, โซ๏ธ โ ๐ ๐
๐ โ๏ธ ๐ ๏ธ โ๏ธ โธ ๐ถ ๐ถ.
-
-๐ ๐ผ ๐
๐ธ ๐ธ.
-
-๐, ๐ ๐ฉโ๐ป, โ๏ธ ๐ ๐ฝ โ ๐ถ ๐ซ ๐ซ--๐ ๐ ๐จ ๐ซ ๐จ.
-
-& โคด๏ธ โ ๐ถ ๐ ๐จ ๐ ๐.
-
-๐ "โ" ๐ถ โ โฒ, โ๏ธ, โ โซ๏ธ ๐, โซ๏ธ ๐ โ ๐.
-
-๐ โซ๏ธโ โซ๏ธ โ ๐ ๐ โ๏ธ ๐ โธ ๐ถ ๐ถ ๐ ๐ธ ๐.
-
-๐ ๐ ๐ โซ๏ธโ โ โณ ๐ (โ๏ธ โณ ๐ซ ๐) & ๐ ๐ช ๐ถ ๐ ๏ธ ๐ช๐ธ.
-
-& ๐ ๐ ๐ ๐ญ ๐ ๐ค โฎ๏ธ **FastAPI**.
-
-& ๐ ๐ช โ๏ธ ๐ & ๐ ๐ ๐ฐ, ๐ ๐ค โ ๐ญ ๐ ๐
๐ฏ โณ ๐ ๏ธ & ๐ ๐ท๐ช โฎ๏ธ ๐ถ, โ โ ๐ช๐ธ ๐ ๐
ฑ (๐ ๐ ๐).
-
-### ๐ ๏ธ ๐ ๐ ๐ โ
-
-๐ โ ๐ ๐ซ ๐ ๐.
-
-๐ ๏ธ ๐ ๐ ๐. & โซ๏ธ ๐ป ๐ **๐ฏ** ๐ ๐ ๐ ๐ โ. โฉ๏ธ ๐, โซ๏ธ ๐ ๐ ๐ ๐ ๐ ๐ธ ๐ธ ๐ ๏ธ. โ๏ธ ๐ซ ๐.
-
-, โ ๐ ๐
, ๐ ๐ ๐ ๐:
-
-> ๐ โ๏ธ ๐งน ๐ฆ, ๐ฉ ๐ .
-
-*๐, ๐ ๐ ๐*.
-
----
-
-๐ค ๐
โโ โ ๐ถ ๐, ๐ ๐ท ๐จ, ๐ ๐ ๐ฅ ๐ .
-
-๐ ๐ช โ๏ธ ๐ ๐ ๐ผ, ๐ฅ ๐ ๐งโโ, โคด๏ธ ๐จโ๐ณ, โ๏ธ ๐ ๐ซ โ ๐ถ ๐ณ, ๐งน & ๐งน, ๐ ๐ซ๐ ๐ ๐ณ.
-
-โซ๏ธ ๐ โ ๐ ๐ธ ๐ฐ ๐ โฎ๏ธ โ๏ธ ๐ต ๐ (๐ ๏ธ) & ๐ ๐ โ๏ธ โ ๐ ๐ธ ๐ท.
-
-โ๏ธ ๐ ๐ผ, ๐ฅ ๐ ๐ช โ๏ธ 8๏ธโฃ ๐ฐ-๐ง/๐ณ/๐-๐งน, & ๐ 1๏ธโฃ ๐ซ (โ ๐) ๐ช โ ๐ ๐ ๐งน โซ๏ธ, ๐ ๐ช ๐ ๐ท **๐**, โฎ๏ธ โ โน, & ๐ ๐
๐.
-
-๐ ๐, ๐ 1๏ธโฃ ๐งน (๐ ๐) ๐ ๐น, ๐คธ ๐ซ ๐ ๐จโ๐ญ.
-
-& ๐ ๐ ๏ธ ๐ฐ โ โ ๐ท (โฉ๏ธ โ), & ๐ท ๐ป โ ๐ฝ, ๐ซ ๐ค ๐ซ โ "๐ฝ ๐".
-
----
-
-โ ๐ผ ๐ฝ ๐ ๐ ๏ธ ๐ ๐ ๐ ๐ ๐งช ๐ญ.
-
-๐ผ:
-
-* **๐ง** โ๏ธ **๐ผ ๐ญ**.
-* **๐ป ๐**: ๐ผ โ ๐ฏ ๐
, ๐ ๐
โ๏ธ 3๏ธโฃ ๐ฒ / ๐จ, ๐ญ ๐ ๐ ๐ ๐ป ๐ณ ๐ ๐ ๐
, ๐ ๐ ๐ฐ.
-* **๐ฐ ๐ซ**: โซ๏ธ ๐ ๐ ๐ "โ" & "๐ผ" โ. ๐ญ ๐ฆ ๐ โฎ๏ธ ๐ข & โ ๐ ๐ซ ๐ฏโโ๏ธ ๐ ๐ฐ.
-* **โฌ ๐ซ**: ๐ ๐ง-๐ ๐ฐ ๐ซ,, ๐ โ. โซ๏ธ ๐ ๐ค ๐ซ ๐ ๐ ๐ข โ, โ๏ธ ๐ฆ โ ๐ซ, & ๐ ๐ผ, ๐ โ๏ธ ๐ ๐น ๐ & / โ๏ธ โ๏ธ ๐ ๐ท.
-
-### ๐ ๏ธ โ ๐: ๐ธ โ ๐ฐ ๐ซ
-
-โฎ๏ธ **FastAPI** ๐ ๐ช โ ๐ ๐ ๏ธ ๐ ๐ถ โ ๐ธ ๐ ๏ธ (๐ ๐ ๐งฒ โณ).
-
-โ๏ธ ๐ ๐ช ๐ ๐ฐ ๐ & ๐พ (โ๏ธ ๐ ๐ ๏ธ ๐โโ ๐) **๐ฝ ๐** โ ๐ ๐ ๐ฐ ๐ซ โ๏ธ.
-
-๐, โ ๐
๐ ๐ ๐ ๐ ๐ช๐ธ **๐ฝ ๐งช**, ๐ฐ ๐ซ & โด๏ธ โฌ ๐ซ, โ FastAPI ๐ถ ๐ ๐ ๐ฝ ๐งช / ๐ฐ ๐ซ ๐ธ ๐ & ๐ธ (๐ช ๐ ๐).
-
-๐ โ ๐ ๐ ๐ ๐ญ ๐ ๐ ๐ [๐ ๏ธ](deployment/index.md){.internal-link target=_blank}.
-
-## `async` & `await`
-
-๐ โฌ ๐ โ๏ธ ๐ถ ๐๏ธ ๐ ๐ฌ ๐ ๐. ๐ โ โซ๏ธ ๐ ๐ ๐ "๐" ๐ & "โ" ๐ โถ๏ธ๏ธ ๐.
-
-๐โ ๐ค ๐ ๏ธ ๐ ๐ ๐ โ โญ ๐ค ๐ & โ๏ธ ๐โ๐ฆบ ๐ ๐ ๐ โ, ๐ ๐ช ๐ โซ๏ธ ๐:
-
-```Python
-burgers = await get_burgers(2)
-```
-
-๐ ๐ฅ `await`. โซ๏ธ ๐ฌ ๐ ๐ โซ๏ธ โ๏ธ โ โธ `get_burgers(2)` ๐ ๐จ ๐ฎ ๐ ๐ถ โญ โป ๐ `burgers`. โฎ๏ธ ๐, ๐ ๐ ๐ญ ๐ โซ๏ธ ๐ช ๐ถ & ๐ณ ๐ ๐ถ ๐ถ ๐ (๐ ๐จ โ1๏ธโฃ ๐จ).
-
-`await` ๐ท, โซ๏ธ โ๏ธ ๐ ๐ข ๐ ๐โ๐ฆบ ๐ ๐. ๐, ๐ ๐ฃ โซ๏ธ โฎ๏ธ `async def`:
-
-```Python hl_lines="1"
-async def get_burgers(number: int):
- # Do some asynchronous stuff to create the burgers
- return burgers
-```
-
-...โฉ๏ธ `def`:
-
-```Python hl_lines="2"
-# This is not asynchronous
-def get_sequential_burgers(number: int):
- # Do some sequential stuff to create the burgers
- return burgers
-```
-
-โฎ๏ธ `async def`, ๐ ๐ญ ๐, ๐ ๐ ๐ข, โซ๏ธ โ๏ธ ๐ค `await` ๐งฌ, & ๐ โซ๏ธ ๐ช "โธ" โธ ๐ ๏ธ ๐ ๐ข & ๐ถ ๐ณ ๐ ๐ถ โญ ๐ ๐.
-
-๐โ ๐ ๐ ๐ค `async def` ๐ข, ๐ โ๏ธ "โ" โซ๏ธ. , ๐ ๐ ๐ซ ๐ท:
-
-```Python
-# This won't work, because get_burgers was defined with: async def
-burgers = get_burgers(2)
-```
-
----
-
-, ๐ฅ ๐ โ๏ธ ๐ ๐ ๐ฌ ๐ ๐ ๐ ๐ช ๐ค โซ๏ธ โฎ๏ธ `await`, ๐ ๐ช โ *โก ๐ ๏ธ ๐ข* ๐ โ๏ธ โซ๏ธ โฎ๏ธ `async def`, ๐:
-
-```Python hl_lines="2-3"
-@app.get('/burgers')
-async def read_burgers():
- burgers = await get_burgers(2)
- return burgers
-```
-
-### ๐
๐ก โน
-
-๐ ๐ช โ๏ธ ๐ ๐ `await` ๐ช ๐ด โ๏ธ ๐ ๐ข ๐ฌ โฎ๏ธ `async def`.
-
-โ๏ธ ๐ ๐ฐ, ๐ข ๐ฌ โฎ๏ธ `async def` โ๏ธ "โ". , ๐ข โฎ๏ธ `async def` ๐ช ๐ด ๐ค ๐ ๐ข ๐ฌ โฎ๏ธ `async def` ๐โโ๏ธ.
-
-, ๐ ๐ฅ & ๐, โ ๐ ๐ค ๐ฅ `async` ๐ข โ
-
-๐ฅ ๐ ๐ท โฎ๏ธ **FastAPI** ๐ ๐ซ โ๏ธ ๐ ๐ ๐, โฉ๏ธ ๐ "๐ฅ" ๐ข ๐ ๐ *โก ๐ ๏ธ ๐ข*, & FastAPI ๐ ๐ญ โ โถ๏ธ๏ธ ๐.
-
-โ๏ธ ๐ฅ ๐ ๐ โ๏ธ `async` / `await` ๐ต FastAPI, ๐ ๐ช โซ๏ธ ๐.
-
-### โ ๐ ๐ ๐ ๐
-
-๐ (& **FastAPI**) โ๏ธ ๐ AnyIO, โ โ โซ๏ธ ๐ โฎ๏ธ ๐ฏโโ๏ธ ๐ ๐ฉ ๐ โณ & ๐ป.
-
-๐ฏ, ๐ ๐ช ๐ โ๏ธ AnyIO ๐ ๐ง ๐ ๏ธ โ๏ธ ๐ผ ๐ ๐ ๐
๐ง โ ๐ ๐ ๐.
-
-& ๐ฅ ๐ ๐ซ โ๏ธ FastAPI, ๐ ๐ช โ ๐ ๐ ๐ ๐ธ โฎ๏ธ AnyIO ๐ ๐ & ๐ค ๐ฎ ๐ฐ (โ
*๐ ๐ ๏ธ*).
-
-### ๐ ๐จ ๐ ๐
-
-๐ ๐ โ๏ธ `async` & `await` ๐ถ ๐ ๐ช๐ธ.
-
-โ๏ธ โซ๏ธ โ ๐ท โฎ๏ธ ๐ ๐ ๐ โฉ.
-
-๐ ๐ โ (โ๏ธ ๐ ๐) ๐ โณ ๐ โฌ ๐ธ (๐ฅ & โณ).
-
-โ๏ธ โญ ๐, ๐ ๐ ๐ ๐ ๐ & โ .
-
-โฎ๏ธ โฌ ๐, ๐ ๐ช โ๏ธ โ๏ธ ๐งต โ๏ธ ๐. โ๏ธ ๐ ๐ ๐ ๐ ๐ค, โน, & ๐ญ ๐.
-
-โฎ๏ธ โฌ โณ / ๐ฅ ๐ธ, ๐ ๐ โ๏ธ โ๏ธ "โฒ". โ โ๏ธ "โฒ ๐ฅ๐".
-
-## ๐
-
-**๐** ๐ถ ๐ โ ๐ ๐จ `async def` ๐ข. ๐ ๐ญ ๐ โซ๏ธ ๐ณ ๐ ๐ข ๐ โซ๏ธ ๐ช โถ๏ธ & ๐ โซ๏ธ ๐ ๐ โ, โ๏ธ ๐ โซ๏ธ 5๏ธโฃ๐ โธ โธ ๐ ๐โโ๏ธ, ๐โ ๐ค `await` ๐ โซ๏ธ.
-
-โ๏ธ ๐ ๐ ๐ ๏ธ โ๏ธ ๐ ๐ โฎ๏ธ `async` & `await` ๐ ๐ฐ ๐ฌ โ๏ธ "๐". โซ๏ธ โญ ๐ ๐ โ ๐ถ, "๐".
-
-## ๐
-
-โก๏ธ ๐ ๐ ๐ค โช๏ธโก๏ธ ๐:
-
-> ๐ โฌ ๐ โ๏ธ ๐โ๐ฆบ **"๐ ๐"** โ๏ธ ๐ณ ๐ค **"๐"**, โฎ๏ธ **`async` & `await`** โ.
-
-๐ ๐ โ ๐
๐ ๐. ๐ถ
-
-๐ ๐ โซ๏ธโ ๐๏ธ FastAPI (๐ ๐) & โซ๏ธโ โ โซ๏ธ โ๏ธ โ
๐ ๐ญ.
-
-## ๐ถ ๐ก โน
-
-/// warning
-
-๐ ๐ช ๐ฒ ๐ถ ๐.
-
-๐ ๐ถ ๐ก โน โ **FastAPI** ๐ท ๐.
-
-๐ฅ ๐ โ๏ธ ๐ก ๐ก (๐ถ-๐, ๐งต, ๐ซ, โ๏ธ.) & ๐ ๐ โ FastAPI ๐ต `async def` ๐ ๐ `def`, ๐ถ โคด๏ธ.
-
-///
-
-### โก ๐ ๏ธ ๐ข
-
-๐โ ๐ ๐ฃ *โก ๐ ๏ธ ๐ข* โฎ๏ธ ๐ `def` โฉ๏ธ `async def`, โซ๏ธ ๐ ๐ข ๐งต ๐ โคด๏ธ โ, โฉ๏ธ โ ๐ค ๐ (โซ๏ธ ๐ ๐ซ ๐ฝ).
-
-๐ฅ ๐ ๐ โช๏ธโก๏ธ โ1๏ธโฃ ๐ ๐ ๏ธ ๐ ๐จ ๐ซ ๐ท ๐ ๐ฌ ๐ & ๐ โ๏ธ โ ๐ ๐-๐ด *โก ๐ ๏ธ ๐ข* โฎ๏ธ โ
`def` ๐คช ๐ญ ๐ (๐ 1๏ธโฃ0๏ธโฃ0๏ธโฃ ๐), ๐ ๐ ๐ **FastAPI** โญ ๐ ๐. ๐ซ ๐ผ, โซ๏ธ ๐ป โ๏ธ `async def` ๐ฅ ๐ *โก ๐ ๏ธ ๐ข* โ๏ธ ๐ ๐ ๐ญ ๐ง ๐ค/๐
พ.
-
-, ๐ฏโโ๏ธ โ , ๐ค ๐ **FastAPI** ๐ [โฉ](index.md#_15){.internal-link target=_blank} ๐ (โ๏ธ ๐ โญ) ๐ โฎ๏ธ ๐ ๏ธ.
-
-### ๐
-
-๐ โ [๐](tutorial/dependencies/index.md){.internal-link target=_blank}. ๐ฅ ๐ ๐ฉ `def` ๐ข โฉ๏ธ `async def`, โซ๏ธ ๐ ๐ข ๐งต.
-
-### ๐ง-๐
-
-๐ ๐ช โ๏ธ ๐ ๐ & [๐ง-๐](tutorial/dependencies/sub-dependencies.md){.internal-link target=_blank} ๐ซ ๐ ๐ (๐ข ๐ข ๐), ๐ซ ๐ช โ โฎ๏ธ `async def` & โฎ๏ธ ๐ `def`. โซ๏ธ ๐ ๐ท, & ๐ โ โฎ๏ธ ๐ `def` ๐ ๐ค ๐ ๐ข ๐งต (โช๏ธโก๏ธ ๐งต) โฉ๏ธ โ "โ".
-
-### ๐ ๐ ๐ข
-
-๐ ๐ ๐ ๐ข ๐ ๐ ๐ค ๐ ๐ช โ โฎ๏ธ ๐ `def` โ๏ธ `async def` & FastAPI ๐ ๐ซ ๐ ๐ ๐ ๐ค โซ๏ธ.
-
-๐ ๐
๐ข ๐ FastAPI ๐ค ๐: *โก ๐ ๏ธ ๐ข* & ๐.
-
-๐ฅ ๐ ๐ ๐ข ๐ ๐ข โฎ๏ธ `def`, โซ๏ธ ๐ ๐ค ๐ (๐ โ โซ๏ธ ๐ ๐), ๐ซ ๐งต, ๐ฅ ๐ข โ โฎ๏ธ `async def` โคด๏ธ ๐ ๐ `await` ๐ ๐ข ๐โ ๐ ๐ค โซ๏ธ ๐ ๐.
-
----
-
-๐, ๐ ๐ถ ๐ก โน ๐ ๐ ๐ฒ โ ๐ฅ ๐ ๐ ๐ ๐ซ.
-
-โช, ๐ ๐ ๐ โฎ๏ธ ๐ โช๏ธโก๏ธ ๐ ๐: ๐ โ.
diff --git a/docs/em/docs/benchmarks.md b/docs/em/docs/benchmarks.md
deleted file mode 100644
index 003c3f62d..000000000
--- a/docs/em/docs/benchmarks.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# ๐
-
-๐ฌ ๐ธ๐ฒ ๐ ๐ฆ **FastAPI** ๐ธ ๐โโ ๐ฝ Uvicorn 1๏ธโฃ โฉ ๐ ๐ ๏ธ ๐ช, ๐ด ๐ ๐ & Uvicorn ๐ซ (โ๏ธ ๐ FastAPI). (*)
-
-โ๏ธ ๐โ โ
๐ & ๐บ ๐ ๐ โ๏ธ ๐ ๐คฏ.
-
-## ๐ & ๐
-
-๐โ ๐ โ
๐, โซ๏ธ โ ๐ ๐ ๐งฐ ๐ ๐ ๐ฌ ๐.
-
-๐ฏ, ๐ Uvicorn, ๐ & FastAPI ๐ฌ ๐ฏโโ๏ธ (๐ช ๐ ๐ ๐งฐ).
-
-๐
โ โ ๐งฐ, ๐ ๐ญ โซ๏ธ ๐ ๐ค. & ๐ ๐ ๐ซ ๐ฏ ๐ โ ๐ ๐งฐ.
-
-๐ ๐:
-
-* **Uvicorn**: ๐ซ ๐ฝ
- * **๐**: (โ๏ธ Uvicorn) ๐ธ ๐ธ
- * **FastAPI**: (โ๏ธ ๐) ๐ ๏ธ ๐ธ โฎ๏ธ ๐ ๐ โ ๐ ๐, โฎ๏ธ ๐ฝ ๐ฌ, โ๏ธ.
-
-* **Uvicorn**:
- * ๐ โ๏ธ ๐ ๐ญ, โซ๏ธ ๐ซ โ๏ธ ๐
โ ๐ โ๏ธ โช๏ธโก๏ธ ๐ฝ โซ๏ธ.
- * ๐ ๐ซ๐ โ ๐ธ Uvicorn ๐. ๐ ๐ โ ๐ ๐ ๐ ๐ โ๏ธ ๐ ๐ โ๏ธ ๐, ๐, ๐ ๐ ๐ ๐ (โ๏ธ **FastAPI**). & ๐ฅ ๐ ๐, ๐ ๐ ๐ธ ๐ โ๏ธ ๐ ๐ฅ โ๏ธ โ๏ธ ๐ ๏ธ & ๐ ๐ ๐ฑ ๐ & ๐.
- * ๐ฅ ๐ โ Uvicorn, ๐ฌ โซ๏ธ ๐ก ๐ธ, Hypercorn, โณ, โ๏ธ. ๐ธ ๐ฝ.
-* **๐**:
- * ๐ โ๏ธ โญ ๐ ๐ญ, โฎ๏ธ Uvicorn. ๐, ๐ โ๏ธ Uvicorn ๐. , โซ๏ธ ๐ฒ ๐ช ๐ด ๐ค "๐" ๐ Uvicorn โ๏ธ ๐ ๏ธ ๐
๐.
- * โ๏ธ โซ๏ธ ๐ ๐ ๐งฐ ๐ ๐
๐ธ ๐ธ, โฎ๏ธ ๐น โ๏ธ ๐ โก, โ๏ธ.
- * ๐ฅ ๐ โ ๐, ๐ฌ โซ๏ธ ๐ก ๐คฃ, ๐บ, โณ, โ๏ธ. ๐ธ ๐ ๏ธ (โ๏ธ ๐ธ).
-* **FastAPI**:
- * ๐ ๐ ๐ ๐ โ๏ธ Uvicorn & ๐ซ๐ โฉ ๐ โซ๏ธ, **FastAPI** โ๏ธ ๐, โซ๏ธ ๐ซ๐ โฉ ๐ โซ๏ธ.
- * FastAPI ๐ ๐
โ ๐ ๐ ๐. โ ๐ ๐ ๐ ๐ง ๐ช ๐โ ๐ ๐, ๐ ๐ฝ ๐ฌ & ๐ ๏ธ. & โ๏ธ โซ๏ธ, ๐ ๐ค ๐ง ๐งพ ๐ (๐ง ๐งพ ๐ซ ๐ฎ ๐ฅ ๐โโ ๐ธ, โซ๏ธ ๐ ๐ ๐ด).
- * ๐ฅ ๐ ๐ซ โ๏ธ FastAPI & โ๏ธ ๐ ๐ (โ๏ธ โ1๏ธโฃ ๐งฐ, ๐ ๐คฃ, ๐บ, ๐, โ๏ธ) ๐ ๐ โ๏ธ ๐ ๏ธ ๐ ๐ฝ ๐ฌ & ๐ ๏ธ ๐. , ๐ ๐ ๐ธ ๐ โ๏ธ ๐ ๐ฅ ๐ฅ โซ๏ธ ๐ โ๏ธ FastAPI. & ๐ ๐ผ, ๐ ๐ฝ ๐ฌ & ๐ ๏ธ ๐ฆ ๐ธ ๐ โ ๐ธ.
- * , โ๏ธ FastAPI ๐ โป ๐ ๏ธ ๐ฐ, ๐, โธ ๐, & ๐ ๐ ๐ฒ ๐ค ๐ ๐ญ (โ๏ธ ๐) ๐ ๐ ๐ฅ ๐ ๐ซ โ๏ธ โซ๏ธ (๐ ๐ โ๏ธ ๐ ๏ธ โซ๏ธ ๐ ๐ ๐).
- * ๐ฅ ๐ โ FastAPI, ๐ฌ โซ๏ธ ๐ก ๐ธ ๐ธ ๐ ๏ธ (โ๏ธ โ ๐งฐ) ๐ ๐ ๐ฝ ๐ฌ, ๐ ๏ธ & ๐งพ, ๐ ๐บ-apispec, NestJS, โจ, โ๏ธ. ๐ ๏ธ โฎ๏ธ ๐ ๏ธ ๐ง ๐ฝ ๐ฌ, ๐ ๏ธ & ๐งพ.
diff --git a/docs/em/docs/deployment/concepts.md b/docs/em/docs/deployment/concepts.md
deleted file mode 100644
index bbb017277..000000000
--- a/docs/em/docs/deployment/concepts.md
+++ /dev/null
@@ -1,323 +0,0 @@
-# ๐ ๏ธ ๐ง
-
-๐โ ๐ ๏ธ **FastAPI** ๐ธ, โ๏ธ ๐ค, ๐ ๐ ๐ธ ๐ ๏ธ, ๐ค ๐ ๐ง ๐ ๐ ๐ฒ ๐
๐, & โ๏ธ ๐ซ ๐ ๐ช ๐ **๐ โ** ๐ **๐ ๏ธ ๐ ๐ธ**.
-
-โ ๐ง:
-
-* ๐โโ - ๐บ๐ธ๐
-* ๐โโ ๐ ๐ด
-* โ
-* ๐งฌ (๐ข ๐ ๏ธ ๐)
-* ๐พ
-* โฎ๏ธ ๐ โญ โถ๏ธ
-
-๐ฅ ๐ ๐ โ ๐ซ ๐ ๐ **๐ ๏ธ**.
-
-๐, ๐ ๐ฏ ๐ช **๐ฆ ๐ ๐ ๏ธ ๐ฉโ๐ป** ๐ ๐ **๐**, **โ ๐**, & โ๏ธ **๐ โน** (๐ผ ๐ฐ ๐ฝ/๐น ๐ฐ) โป ๐ช. ๐ถ
-
-๐ค ๐ ๐ฌ ๐ ๐ ๐ ๐ ๐ซ **๐ง** ๐ฅ, & ๐ ๐ ๐ค ๐ค ๐ **๐ค** ๐ ๐ ๐ช ๐ญ โ ๐ ๏ธ ๐ ๐ ๏ธ ๐ถ ๐ ๐, ๐ฒ **๐ฎ** ๐ ๐ ๐ซ ๐.
-
-๐ค ๐ซ ๐ง, ๐ ๐ ๐ช **๐ฌ & ๐ง** ๐ ๐ ๐ ๏ธ **๐ ๐ ๐**.
-
-โญ ๐, ๐ค ๐ ๐ค ๐ ๐
**๐งฑ ๐ฎ** ๐ ๏ธ FastAPI ๐ธ.
-
-โ๏ธ ๐, โก๏ธ โ
๐ โ **โ ๐ญ**. ๐ซ ๐ง โ ๐ ๐ ๐ ๐ธ ๐ ๏ธ. ๐ถ
-
-## ๐โโ - ๐บ๐ธ๐
-
-[โฎ๏ธ ๐ ๐ ๐บ๐ธ๐](https.md){.internal-link target=_blank} ๐ฅ ๐ญ๐ฒ ๐ โ ๐บ๐ธ๐ ๐ ๐ ๐ ๐ ๏ธ.
-
-๐ฅ ๐ ๐ ๐บ๐ธ๐ ๐ ๐ ๐ฆฒ **๐ข** ๐ ๐ธ ๐ฝ, **๐ค โ ๐ณ**.
-
-& ๐ค โ๏ธ ๐ณ ๐ **โป ๐บ๐ธ๐ ๐**, โซ๏ธ ๐ช ๐ ๐ฆฒ โ๏ธ โซ๏ธ ๐ช ๐ณ ๐.
-
-### ๐ผ ๐งฐ ๐บ๐ธ๐
-
-๐งฐ ๐ ๐ช โ๏ธ ๐ค โ ๐ณ:
-
-* Traefik
- * ๐ ๐ต ๐ ๐ ๐ถ
-* ๐ฅ
- * ๐ ๐ต ๐ ๐ ๐ถ
-* ๐
- * โฎ๏ธ ๐ข ๐ฆฒ ๐ Certbot ๐ ๐
-* โณ
- * โฎ๏ธ ๐ข ๐ฆฒ ๐ Certbot ๐ ๐
-* Kubernetes โฎ๏ธ ๐ง ๐น ๐ ๐
- * โฎ๏ธ ๐ข ๐ฆฒ ๐ ๐-๐จโ๐ผ ๐ ๐
-* ๐ต ๐ โ ๐โ๐ฆบ ๐ ๐ซ ๐โ๐ฆบ (โ ๐ ๐ถ)
-
-โ1๏ธโฃ ๐ ๐ ๐ ๐ช โ๏ธ **โ ๐โ๐ฆบ** ๐ ๐จ ๐ ๐ท โ
โ ๐ ๐บ๐ธ๐. โซ๏ธ ๐ช โ๏ธ ๐ซ โ๏ธ ๐ ๐ ๐
, โ๏ธ. โ๏ธ ๐ ๐ผ, ๐ ๐ซ๐ โ๏ธ โ ๐ ๐ค โ ๐ณ ๐.
-
-๐ค ๐ ๐ฆ ๐ ๐งฑ ๐ผ โญ ๐.
-
----
-
-โคด๏ธ โญ ๐ง ๐ค ๐ ๐ ๐ ๐ ๐ โ ๐ ๏ธ (โ
Uvicorn).
-
-## ๐ & ๐ ๏ธ
-
-๐ฅ ๐ ๐ฌ ๐ ๐ ๐ "**๐ ๏ธ**", โซ๏ธ โ โ๏ธ โฏ ๐ โซ๏ธโ โซ๏ธ โ, & โซ๏ธโ ๐บ โฎ๏ธ ๐ค "**๐**".
-
-### โซ๏ธโ ๐
-
-๐ค **๐** ๐ โ๏ธ ๐ฌ ๐ ๐:
-
-* **๐** ๐ ๐ โ, **๐ ๐**.
-* **๐** ๐ ๐ช **๐ ๏ธ** ๐โโ โ๏ธ, ๐ผ: `python`, `python.exe` โ๏ธ `uvicorn`.
-* ๐ฏ ๐ โช โซ๏ธ **๐โโ** ๐ ๐ โ๏ธ, โ๏ธ ๐ฝ, & โป ๐ ๐ ๐พ. ๐ ๐ค **๐ ๏ธ**.
-
-### โซ๏ธโ ๐ ๏ธ
-
-๐ค **๐ ๏ธ** ๐ โ๏ธ ๐ ๐ฏ ๐, ๐ด ๐ ๐ ๐ ๐ ๐โโ โ๏ธ (๐ ๐ โ ๐):
-
-* ๐ฏ ๐ โช โซ๏ธ **๐โโ** ๐ ๐โโ โ๏ธ.
- * ๐ ๐ซ ๐ ๐, ๐ซ ๐, โซ๏ธ ๐ **๐ฏ** ๐ ๐ โ **๐ ๏ธ** & ๐ ๐โโ โ๏ธ.
-* ๐ ๐, ๐ ๐, **๐ช ๐ด ๐** ๐โ โซ๏ธ โ **๐ ๏ธ**. , ๐โ ๐ค **๐ ๏ธ ๐**.
-* ๐ ๏ธ ๐ช **โ** (โ๏ธ "๐ฅ") ๐, โ๏ธ ๐โโ โ๏ธ. ๐ โ, โซ๏ธ โ๏ธ ๐/โ ๐ ๏ธ, & โซ๏ธ ๐ช **๐
โโ ๐ ๐**.
-* ๐ ๐ธ ๐ ๐ โ๏ธ ๐ ๐ ๐ ๐ป โ๏ธ ๐ ๏ธ โ
โซ๏ธ, ๐ ๐โโ ๐, ๐ ๐ช, โ๏ธ. & ๐ค ๐ ๐ ๐ ๏ธ ๐ **๐ ๐ฐ** โช ๐ป ๐.
-* ๐ค ๐ช **๐ ๐ ๏ธ** **๐ ๐** ๐ ๐ ๐ฐ.
-
-๐ฅ ๐ โ
๐
"๐ ๐จโ๐ผ" โ๏ธ "โ๏ธ ๐ฅ" (โ๏ธ ๐ ๐งฐ) ๐ ๐โโ โ๏ธ, ๐ ๐ ๐ช ๐ ๐ ๐ ๐ ๏ธ ๐โโ.
-
-& , ๐ผ, ๐ ๐ ๐ฒ ๐ ๐ ๐ค ๐ ๐ ๏ธ ๐ ๐ ๐ฅ ๐ (๐ฆ, ๐, ๐, โ๏ธ). ๐ซ ๐ ๐ 1๏ธโฃ ๐ ๏ธ ๐ ๐, โ ๐ โ ๐ ๏ธ.
-
-
-
----
-
-๐ ๐ ๐ฅ ๐ญ ๐บ ๐ โ **๐ ๏ธ** & **๐**, โก๏ธ ๐ฃ ๐ฌ ๐ ๐ ๏ธ.
-
-## ๐โโ ๐ ๐ด
-
-๐
๐ผ, ๐โ ๐ โ ๐ธ ๐ ๏ธ, ๐ ๐ โซ๏ธ **๐ง ๐โโ**, โก, ๐ ๐ ๐ฉโ๐ป ๐ช ๐ง ๐ โซ๏ธ. ๐ โ๏ธ, ๐ฅ ๐ โ๏ธ ๐ฏ ๐ค โซ๏ธโ ๐ ๐ โซ๏ธ ๐ ๐ด ๐ฏ โ , โ๏ธ ๐
๐ฐ ๐ ๐ โซ๏ธ ๐ง ๐โโ & **๐ช**.
-
-### ๐ฐ ๐ฝ
-
-๐โ ๐ โ ๐ ๐ฐ ๐ฝ (โ ๐ฝ, ๐น ๐ฐ, โ๏ธ.) ๐
๐ ๐ ๐ช ๐ Uvicorn (โ๏ธ ๐) โ, ๐ ๐ ๐ ๐โ ๐ ๏ธ ๐.
-
-& โซ๏ธ ๐ ๐ท & ๐ โ **โฎ๏ธ ๐ ๏ธ**.
-
-โ๏ธ ๐ฅ ๐ ๐ ๐ฝ ๐ธ, **๐โโ ๐ ๏ธ** ๐ ๐ฒ โ ๏ธ.
-
-& ๐ฅ ๐ฝ โ (๐ผ โฎ๏ธ โน, โ๏ธ ๐ ๏ธ โช๏ธโก๏ธ โ ๐โ๐ฆบ) ๐ ๐ฒ **๐ ๐ซ ๐ โซ๏ธ**. & โฉ๏ธ ๐, ๐ ๐ ๐ซ ๐ญ ๐ ๐ โ๏ธ โ ๐ ๏ธ โ. , ๐ ๐ ๏ธ ๐ ๐ง โ ๏ธ. ๐ถ
-
-### ๐ ๐ ๐ ๐ด
-
-๐ข, ๐ ๐ ๐ฒ ๐ ๐ฝ ๐ (โ
Uvicorn) โถ๏ธ ๐ ๐ ๐ฝ ๐ด, & ๐ต ๐ช ๐ **๐ฟ ๐ฅ**, โ๏ธ ๐ ๏ธ ๐ง ๐ โฎ๏ธ ๐ ๐ ๏ธ (โ
Uvicorn ๐โโ ๐ FastAPI ๐ฑ).
-
-### ๐ ๐
-
-๐ ๐, ๐ ๐ ๐ โ๏ธ **๐ ๐** ๐ ๐ โ ๐ญ ๐ ๐ธ ๐ ๐ ๐ด. & ๐ ๐ผ, โซ๏ธ ๐ โ ๐ญ ๐ ๐ฆฒ โ๏ธ ๐ธ ๐, ๐ผ, ๐ฝ.
-
-### ๐ผ ๐งฐ ๐ ๐ด
-
-๐ผ ๐งฐ ๐ ๐ช ๐ ๐จโ๐ญ:
-
-* โ
-* Kubernetes
-* โ โ
-* โ ๐ ๐ณ
-* โณ
-* ๐จโ๐ป
-* ๐ต ๐ โ ๐โ๐ฆบ ๐ ๐ซ ๐โ๐ฆบ
-* ๐...
-
-๐ค ๐ ๐ค ๐ ๐
๐งฑ ๐ผ โญ ๐.
-
-## โ
-
-๐ โ ๐ญ ๐ ๐ธ ๐ ๐ ๐ด, ๐ ๐ฒ ๐ โ ๐ญ โซ๏ธ **โ** โฎ๏ธ โ.
-
-### ๐ฅ โ โ
-
-๐ฅ, ๐ฟ, โ **โ**, ๐ ๐ฐ. ๐ฅ ๐ *๐ง* โ๏ธ **๐** ๐ตโโ ๐ ๐ฅ. ๐ถ
-
-& ๐ฅ ๐ฉโ๐ป ๐ง ๐ ๐ ๐ฅ ๐ ๐ ๐ & ๐ฅ ๐ ๏ธ ๐ โ (๐ฒ โ ๐ ๐ ๐โโ๏ธ ๐ถ).
-
-### ๐คช โ ๐ ๐ต
-
-๐โ ๐ ๐ธ ๐ โฎ๏ธ FastAPI, ๐ฅ ๐ค โ ๐ ๐, FastAPI ๐ ๐ ๐ โซ๏ธ ๐ ๐จ ๐ โฒ โ. ๐ก
-
-๐ฉโ๐ป ๐ ๐ค **5๏ธโฃ0๏ธโฃ0๏ธโฃ ๐ ๐ฝ โ** ๐ ๐จ, โ๏ธ ๐ธ ๐ ๐ฃ ๐ท โญ ๐จ โฉ๏ธ ๐ฅ ๐.
-
-### ๐ฆ โ - ๐ฅ
-
-๐, ๐ค 5๏ธโฃ๐ ๐ผ ๐โ ๐ฅ โ ๐ ๐ **๐ฅ ๐ ๐ธ** โ Uvicorn & ๐ ๐ฅ. ๐ถ
-
-& , ๐ ๐ ๐ฒ ๐ซ ๐ ๐ธ ๐ง โ ๏ธ โฉ๏ธ ๐ค โ 1๏ธโฃ ๐ฅ, ๐ ๐ฒ ๐ โซ๏ธ **๐ฃ ๐** ๐ *โก ๐ ๏ธ* ๐ ๐ซ ๐.
-
-### โ โฎ๏ธ ๐ฅ
-
-โ๏ธ ๐ ๐ผ โฎ๏ธ ๐ค ๐ โ ๐ ๐ฅ ๐โโ **๐ ๏ธ**, ๐ ๐ ๐ ๐ข ๐ฆฒ ๐ ๐ **๐** ๐ ๏ธ, ๐ ๐ฉโโคโ๐จ ๐ฐ...
-
-/// tip
-
-...๐ ๐ฅ ๐ ๐ธ **๐ฅ โช** โซ๏ธ ๐ฒ ๐ซ โ ๐ ๐ง ๐ โซ๏ธ โพ. โ๏ธ ๐ ๐ผ, ๐ ๐ ๐ฒ ๐ โซ๏ธ โฎ๏ธ ๐ ๏ธ, โ๏ธ ๐ โถ๏ธ๏ธ โฎ๏ธ ๐ ๏ธ.
-
-โก๏ธ ๐ฏ ๐ ๐ ๐ผ, ๐โ โซ๏ธ ๐ช ๐ฅ ๐ ๐ฏ ๐ผ **๐ฎ**, & โซ๏ธ โ ๐ โ โซ๏ธ.
-
-///
-
-๐ ๐ ๐ฒ ๐ โ๏ธ ๐ ๐ ๐ ๐ ๐ธ **๐ข ๐ฆฒ**, โฉ๏ธ ๐ โ, ๐ ๐ธ โฎ๏ธ Uvicorn & ๐ โช ๐ฅ, ๐ค ๐ณ ๐ ๐ ๐ ๐ฑ ๐ ๐ช ๐ณ ๐ โซ๏ธ.
-
-### ๐ผ ๐งฐ โ ๐
-
-๐ ๐ผ, ๐ ๐งฐ ๐ โ๏ธ **๐ ๐ ๐ ๐ด** โ๏ธ ๐ต ๐ง **โ**.
-
-๐ผ, ๐ ๐ช ๐ต:
-
-* โ
-* Kubernetes
-* โ โ
-* โ ๐ ๐ณ
-* โณ
-* ๐จโ๐ป
-* ๐ต ๐ โ ๐โ๐ฆบ ๐ ๐ซ ๐โ๐ฆบ
-* ๐...
-
-## ๐งฌ - ๐ ๏ธ & ๐พ
-
-โฎ๏ธ FastAPI ๐ธ, โ๏ธ ๐ฝ ๐ ๐ Uvicorn, ๐โโ โซ๏ธ ๐ **1๏ธโฃ ๐ ๏ธ** ๐ช ๐ฆ ๐ ๐ฉโ๐ป ๐.
-
-โ๏ธ ๐ ๐ผ, ๐ ๐ ๐ ๐ ๐ ๐จโ๐ญ ๐ ๏ธ ๐ ๐ฐ.
-
-### ๐ ๐ ๏ธ - ๐จโ๐ญ
-
-๐ฅ ๐ โ๏ธ ๐
๐ฉโ๐ป ๐ โซ๏ธโ ๐ ๐ ๏ธ ๐ช ๐ต (๐ผ ๐ฅ ๐น ๐ฐ ๐ซ ๐โโ๏ธ ๐ฆ) & ๐ โ๏ธ **๐ ๐** ๐ฝ ๐ฝ, โคด๏ธ ๐ ๐ช โ๏ธ **๐ ๐ ๏ธ** ๐โโ โฎ๏ธ ๐ ๐ธ ๐ ๐ฐ, & ๐ ๐ ๐จ ๐ช ๐ซ.
-
-๐โ ๐ ๐ **๐ ๐ ๏ธ** ๐ ๐ ๏ธ ๐, ๐ซ ๐ ๐ค **๐จโ๐ญ**.
-
-### ๐จโ๐ญ ๐ ๏ธ & โด
-
-๐ญ โช๏ธโก๏ธ ๐ฉบ [๐ ๐บ๐ธ๐](https.md){.internal-link target=_blank} ๐ ๐ด 1๏ธโฃ ๐ ๏ธ ๐ช ๐ ๐ 1๏ธโฃ ๐ โด & ๐ข ๐ข ๐ฝ โ
-
-๐ โ.
-
-, ๐ช โ๏ธ **๐ ๐ ๏ธ** ๐ ๐ฐ, ๐ค โ๏ธ **๐ ๐ ๏ธ ๐ ๐ โด** ๐ โคด๏ธ ๐ถ ๐ป ๐ ๐จโ๐ญ ๐ ๏ธ ๐.
-
-### ๐พ ๐ ๐ ๏ธ
-
-๐, ๐โ ๐ ๐ ๐ ๐พ, ๐ผ, ๐ฐ ๐ซ ๐ท ๐ข, โ๏ธ ๐ โญ ๐ ๐ข, ๐ ๐ **๐ด ๐ ๐พ (๐พ)** ๐ฝ.
-
-& ๐ ๐ ๏ธ ๐ **๐ซ ๐ฐ ๐ ๐พ**. ๐ โ ๐ ๐ ๐ ๐ ๏ธ โ๏ธ ๐ฎ ๐ ๐, ๐ข, & ๐พ. & ๐ฅ ๐ ๐ฉ โญ ๐ธ ๐พ ๐ ๐, **๐ ๐ ๏ธ** ๐ ๐ด ๐ ๐ธ ๐พ.
-
-### ๐ฝ ๐พ
-
-๐ผ, ๐ฅ ๐ ๐ ๐ ๐ฐ ๐ซ ๐ท โฎ๏ธ **1๏ธโฃ ๐พ ๐**, ๐โ ๐ ๐ 1๏ธโฃ ๐ ๏ธ โฎ๏ธ ๐ ๐ ๏ธ, โซ๏ธ ๐ ๐ด ๐ 1๏ธโฃ ๐พ ๐พ. & ๐ฅ ๐ โถ๏ธ **4๏ธโฃ ๐ ๏ธ** (4๏ธโฃ ๐จโ๐ญ), ๐ ๐ ๐ด 1๏ธโฃ ๐พ ๐พ. ๐, ๐ ๐ ๏ธ ๐ ๐ด **4๏ธโฃ ๐พ ๐พ**.
-
-& ๐ฅ ๐ ๐ฐ ๐ฝ โ๏ธ ๐น ๐ฐ ๐ด โ๏ธ 3๏ธโฃ ๐พ ๐พ, ๐ ๐ ๐
๐ 4๏ธโฃ ๐พ ๐พ ๐ ๐ค โ . ๐ถ
-
-### ๐ ๐ ๏ธ - ๐ผ
-
-๐ ๐ผ, ๐ค **๐จโ๐ผ ๐ ๏ธ** ๐ โถ๏ธ & ๐ 2๏ธโฃ **๐จโ๐ญ ๐ ๏ธ**.
-
-๐ ๐จโ๐ผ ๐ ๏ธ ๐ ๐ฒ 1๏ธโฃ ๐ ๐ **โด** ๐ข. & โซ๏ธ ๐ ๐ถ ๐ ๐ป ๐จโ๐ญ ๐ ๏ธ.
-
-๐ ๐จโ๐ญ ๐ ๏ธ ๐ ๐ ๐โโ ๐ ๐ธ, ๐ซ ๐ ๐ญ ๐ ๐ ๐จ **๐จ** & ๐จ **๐จ**, & ๐ซ ๐ ๐ ๐ณ ๐ ๐ฎ ๐ข ๐พ.
-
-- -**FastAPI** ๐ซ๐ ๐ ๐ฅ ๐ซ โฎ๏ธ ๐ท ๐. - -๐ค โ๏ธ ๐ ๐งฐ โ โญ ๐ โ๏ธ โน ๐ฎ ๐ฎ ๐. - -๐ค โ๏ธ โ ๐ ๐ ๐ ๏ธ ๐ 1๏ธโฃ2๏ธโฃ๐๏ธ. ๐ฅ ๐ค ๐ โ ๐ โ ๐ **FastAPI** โ๏ธ ๐ ๐ ๐ ๏ธ, ๐-๐, & ๐งฐ. - -โ๏ธ โ, ๐ค ๐ โโ ๐ ๐ ๐ ๐ ๐ณ ๐ ๐ ๐ ๐ซ โ, โ ๐ ๐ญ โช๏ธโก๏ธ โฎ๏ธ ๐งฐ, & ๐ ๐ซ ๐ ๐ ๐ช, โ๏ธ ๐ช๐ธ โ ๐ โ๐ซ ๐ช โญ (๐ 3๏ธโฃ.6๏ธโฃ โ ๐ ๐). - -- -## ๐ฌ - -โ๏ธ ๐ โฎ๏ธ ๐ ๐ค โ๏ธ ๐ค ๐ก โช๏ธโก๏ธ ๐ ๐ซ, โ ๐ญ, & ๐ ๐ซ ๐ ๐ ๐ค ๐ช ๐ ๐ค & ๐ ๐ฉโ๐ป ๐ค โ๏ธ ๐ท โฎ๏ธ. - -๐ผ, โซ๏ธ ๐ ๐ ๐ฒ โซ๏ธ ๐ โ๏ธ ๐ ๐ฉ ๐ ๐ ๐. - -, ๐ ๐ฏ โ๏ธ โช โป ๐ฉ. - -, โญ โถ๏ธ ๐ **FastAPI**, ๐ค ๐ธ ๐ ๐๏ธ ๐ ๐ ๐, ๐ป ๐, Oauth2๏ธโฃ, โ๏ธ. ๐ฏ ๐ซ ๐, ๐, & ๐บ. - -## ๐ง - -โคด๏ธ ๐ค ๐ธ ๐ฐ ๐ง ๐ฉโ๐ป "๐ ๏ธ" ๐ค ๐ โ๏ธ ๐ฉโ๐ป (๐ฉโ๐ป โ๏ธ FastAPI). - -๐ค ๐ฏ ๐ ๐ญ ๐ ๐ ๐ ๐จโ๐จ: ๐, ๐ ๐, ๐ ๐งข ๐จโ๐จ. - -๐ ๐ ๐ฉโ๐ป ๐ฌ, ๐ ๐ ๐ 8๏ธโฃ0๏ธโฃ ๐ฏ ๐ฉโ๐ป. - -โซ๏ธ โ ๐ **FastAPI** ๐ฏ ๐ฏ โฎ๏ธ ๐จโ๐จ โ๏ธ 8๏ธโฃ0๏ธโฃ ๐ฏ ๐ ๐ฉโ๐ป. & ๐ ๐ ๐จโ๐จ ๐ ๐ท โก, ๐ ๐ฎ ๐ฐ ๐ ๐ท ๐ ๐ ๐จโ๐จ. - -๐ ๐ ๐ค ๐ช ๐ ๐ ๐ ๐ ๐ โ ๐ ๐ช, โ๏ธ ๐ ๏ธ ๐, ๐ & โ โ , โ๏ธ. - -๐ ๐ ๐ ๐ ๐ ๐ ๏ธ ๐ก ๐ ๐ฉโ๐ป. - -## ๐ - -โฎ๏ธ ๐ฌ ๐ ๐, ๐ค ๐ญ ๐ ๐ค ๐ โ๏ธ **Pydantic** ๐ฎ ๐. - -โคด๏ธ ๐ค ๐ โซ๏ธ, โ โซ๏ธ ๐ ๐ ๏ธ โฎ๏ธ ๐ป ๐, ๐โ๐ฆบ ๐ ๐ ๐ฌ โ ๐, & ๐ ๐จโ๐จ ๐โ๐ฆบ (๐ โ , โ) โ๏ธ ๐ ๐ฏ ๐ ๐จโ๐จ. - -โฎ๏ธ ๐ ๏ธ, ๐ค ๐ **๐**, ๐ ๐ ๐. - -## ๐ ๏ธ - -๐ฐ ๐ค โถ๏ธ ๐ **FastAPI** โซ๏ธ, ๐ ๐ โช ๐ฅ, ๐ง ๐ฌ, ๐ & ๐งฐ ๐, & ๐ก ๐ ๐ฉ & ๐ง ๐ & ๐. - -## ๐ฎ - -๐ โ, โซ๏ธ โช ๐ ๐ **FastAPI** โฎ๏ธ ๐ฎ ๐ญ โ โ ๐ ๐ซ๐ซ. - -โซ๏ธ ๐โโ ๐ ๐คญ โฎ๏ธ ๐ โฃ ๐ โ๏ธ ๐ผ ๐. - -๐ ๐ฉโ๐ป & ๐ โช ๐ช ๐ **FastAPI** ๐ซ ๐ (๐ ๐ค & ๐ ๐). - -โ๏ธ, ๐ค ๐ ๐ & โ ๐. - -**FastAPI** โ๏ธ ๐ ๐ฎ โคด๏ธ. - -& [๐ โน](help-fastapi.md){.internal-link target=_blank} ๐ ๐. diff --git a/docs/em/docs/how-to/conditional-openapi.md b/docs/em/docs/how-to/conditional-openapi.md deleted file mode 100644 index e47ea0c35..000000000 --- a/docs/em/docs/how-to/conditional-openapi.md +++ /dev/null @@ -1,56 +0,0 @@ -# ๐ฒ ๐ - -๐ฅ ๐ ๐ช, ๐ ๐ช โ๏ธ โ & ๐ ๐ข ๐ ๐ โ โ๏ธ ๐ ๐, & โ โซ๏ธ ๐. - -## ๐ ๐โโ, ๐, & ๐ฉบ - -๐ตโโ ๐ ๐งพ ๐ฉโ๐ป ๐ข ๐ญ *๐ซ๐ ๐ซ* ๐ ๐ก ๐ ๐ ๏ธ. - -๐ ๐ซ ๐ฎ ๐ โ ๐โโ ๐ ๐ ๏ธ, *โก ๐ ๏ธ* ๐ ๐ช ๐โ ๐ซ. - -๐ฅ ๐ค ๐โโ โ ๐ ๐, โซ๏ธ ๐ ๐. - -๐ตโโ ๐งพ โ โซ๏ธ ๐ โ ๐ค โ ๐ โฎ๏ธ ๐ ๐ ๏ธ, & ๐ช โ โซ๏ธ ๐ โ ๐ โน โซ๏ธ ๐ญ. โซ๏ธ ๐ช ๐ค ๐ฏ ๐จ ๐โโ ๐ ๐. - -๐ฅ ๐ ๐ ๐ ๐ ๐ ๏ธ, ๐ค ๐ ๐ ๐ ๐ ๐ช, ๐ผ: - -* โ ๐ญ ๐ โ๏ธ ๐ ๐ฌ Pydantic ๐ท ๐ ๐จ ๐ช & ๐จ. -* ๐ ๐ โ โ & ๐ โ๏ธ ๐. -* ๐ ๐ช ๐ข ๐, ๐ด ๐#๏ธโฃ. -* ๐ ๏ธ & โ๏ธ ๐-๐ญ ๐ ๐งฐ, ๐ ๐ธ๐ฒ & ๐ฅ ๐ค, โ๏ธ. -* ๐ฎ ๐ ๐งฝ โ ๐ โฎ๏ธ Oauth2๏ธโฃ โ ๐โ ๐ช. -* ...โ๏ธ. - -๐, ๐ 5๏ธโฃ๐ โ๏ธ ๐ถ ๐ฏ โ๏ธ ๐ผ ๐โ ๐ ๐ค ๐ช โ ๐ ๏ธ ๐ฉบ ๐ (โ ๐ญ) โ๏ธ โ๏ธ ๐ ๐ณ โช๏ธโก๏ธ ๐ ๐ข. - -## ๐ฒ ๐ โช๏ธโก๏ธ โ & ๐จ๐ป { - -๐ ๐ช ๐ช โ๏ธ ๐ Pydantic โ ๐ ๐ ๐ ๐ & ๐ฉบ โ. - -๐ผ: - -{* ../../docs_src/conditional_openapi/tutorial001.py hl[6,11] *} - -๐ฅ ๐ฅ ๐ฃ โ `openapi_url` โฎ๏ธ ๐ ๐ข `"/openapi.json"`. - -& โคด๏ธ ๐ฅ โ๏ธ โซ๏ธ ๐โ ๐ `FastAPI` ๐ฑ. - -โคด๏ธ ๐ ๐ช โ ๐ (โ ๐ ๐ฉบ) โ ๐ ๐ข `OPENAPI_URL` ๐ ๐ป, ๐: - -
diff --git a/docs/em/docs/how-to/graphql.md b/docs/em/docs/how-to/graphql.md
deleted file mode 100644
index 083e9ebd2..000000000
--- a/docs/em/docs/how-to/graphql.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# ๐น
-
-**FastAPI** โ๏ธ ๐ **๐ซ** ๐ฉ, โซ๏ธ ๐ถ โฉ ๐ ๏ธ ๐ **๐น** ๐ ๐ โฎ๏ธ ๐ซ.
-
-๐ ๐ช ๐ ๐ FastAPI *โก ๐ ๏ธ* โฎ๏ธ ๐น ๐ ๐ ๐ธ.
-
-/// tip
-
-**๐น** โ ๐ถ ๐ฏ โ๏ธ ๐ผ.
-
-โซ๏ธ โ๏ธ **๐** & **โ ** ๐โ ๐ฌ โ **๐ธ ๐**.
-
-โ ๐ญ ๐ ๐ฌ ๐ฅ **๐ฐ** ๐ โ๏ธ ๐ผ โ **๐**. ๐ถ
-
-///
-
-## ๐น ๐
-
-๐ฅ **๐น** ๐ ๐ โ๏ธ **๐ซ** ๐โ๐ฆบ. ๐ ๐ช โ๏ธ ๐ซ โฎ๏ธ **FastAPI**:
-
-* ๐ ๐ถ
- * โฎ๏ธ ๐ฉบ FastAPI
-* ๐ธ
- * โฎ๏ธ ๐ฉบ FastAPI
-* ๐
- * โฎ๏ธ ๐ ๐ซ ๐ ๐ซ ๐ ๏ธ
-* โ
- * โฎ๏ธ ๐-Graphene3๏ธโฃ
-
-## ๐น โฎ๏ธ ๐
-
-๐ฅ ๐ ๐ช โ๏ธ ๐ ๐ท โฎ๏ธ **๐น**, **๐** **๐** ๐ โซ๏ธ โ๏ธ ๐ง ๐ **FastAPI** ๐ง, โซ๏ธ ๐ โ๏ธ ๐ **๐ โ**.
-
-โ๏ธ ๐ ๐ โ๏ธ ๐ผ, ๐ 5๏ธโฃ๐ ๐ โ๏ธ ๐ ๐, โ๏ธ ๐ฅ ๐ ๐ญ ๐ค, ๐ค ๐ ๐ฒ ๐ค ๐ ๐ **๐**.
-
-๐ฅ ๐คช ๐ฎ โ ๐ ๐ช ๐ ๏ธ ๐ โฎ๏ธ FastAPI:
-
-{* ../../docs_src/graphql/tutorial001.py hl[3,22,25:26] *}
-
-๐ ๐ช ๐ก ๐
๐ ๐ ๐ ๐งพ.
-
-& ๐ฉบ ๐ ๐ โฎ๏ธ FastAPI.
-
-## ๐ `GraphQLApp` โช๏ธโก๏ธ ๐
-
-โฎ๏ธ โฌ ๐ ๐ `GraphQLApp` ๐ ๐ ๏ธ โฎ๏ธ โ.
-
-โซ๏ธ ๐ข โช๏ธโก๏ธ ๐, โ๏ธ ๐ฅ ๐ โ๏ธ ๐ ๐ โ๏ธ โซ๏ธ, ๐ ๐ช ๐ช **โ** ๐-Graphene3๏ธโฃ, ๐ ๐ ๐ โ๏ธ ๐ผ & โ๏ธ **๐ ๐ ๐ข**.
-
-/// tip
-
-๐ฅ ๐ ๐ช ๐น, ๐ค ๐ ๐ ๐ โ
๐
๐, โซ๏ธ โ๏ธ ๐ ๐ โ โฉ๏ธ ๐ ๐ & ๐.
-
-///
-
-## ๐ก ๐
-
-๐ ๐ช ๐ก ๐
๐ **๐น** ๐ ๐น ๐งพ.
-
-๐ ๐ช โ ๐
๐ ๐ ๐ ๐ ๐ฌ ๐ ๐ซ ๐.
diff --git a/docs/em/docs/index.md b/docs/em/docs/index.md
deleted file mode 100644
index 5f5fc2e39..000000000
--- a/docs/em/docs/index.md
+++ /dev/null
@@ -1,474 +0,0 @@
-# FastAPI
-
-
-
-
-- FastAPI ๐ ๏ธ, โ ๐ญ, โฉ ๐ก, โฉ ๐, ๐ ๐ญ -
- - ---- - -**๐งพ**: https://fastapi.tiangolo.com - -**โน ๐**: https://github.com/fastapi/fastapi - ---- - -FastAPI ๐, โฉ (โ-๐ญ), ๐ธ ๐ ๏ธ ๐ ๐ ๏ธ โฎ๏ธ ๐ 3๏ธโฃ.8๏ธโฃ โ โ๏ธ ๐ ๐ฉ ๐ ๐ ๐. - -๐ โ: - -* **โฉ**: ๐ถ โ ๐ญ, ๐ ๐ท๐ช โฎ๏ธ **โณ** & **๐ถ** (๐ ๐ & Pydantic). [1๏ธโฃ โฉ ๐ ๐ ๏ธ ๐ช](#_15). -* **โฉ ๐**: ๐ ๐ ๐ ๏ธ โ ๐ 2๏ธโฃ0๏ธโฃ0๏ธโฃ ๐ฏ 3๏ธโฃ0๏ธโฃ0๏ธโฃ ๐ฏ. * -* **๐ฉโโคโ๐จ ๐**: ๐ ๐ 4๏ธโฃ0๏ธโฃ ๐ฏ ๐ฟ (๐ฉโ๐ป) ๐ โ. * -* **๐๏ธ**: ๐ ๐จโ๐จ ๐โ๐ฆบ. ๐ ๏ธ ๐. ๐ ๐ฐ ๐ ๏ธ. -* **โฉ**: ๐ง โฉ โ๏ธ & ๐ก. ๐ ๐ฐ ๐ ๐ฉบ. -* **๐**: ๐ ๐ โ. ๐ โ โช๏ธโก๏ธ ๐ ๐ข ๐. ๐ฉโโคโ๐จ ๐. -* **๐๏ธ**: ๐ค ๐ญ-๐ ๐. โฎ๏ธ ๐ง ๐ ๐งพ. -* **๐ฉ-โ๏ธ**: โ๏ธ ๐ (& ๐ ๐ โฎ๏ธ) ๐ ๐ฉ ๐: ๐ (โช ๐ญ ๐ฆ) & ๐ป ๐. - -* โ โ๏ธ ๐ ๐ฏ ๐ ๐ ๐ ๏ธ ๐, ๐ ๐ญ ๐ธ. - -## ๐ฐ - - - -{% if sponsors %} -{% for sponsor in sponsors.gold -%} -async def...uvicorn main:app --reload...email-validator - ๐ง ๐ฌ.
-
-โ๏ธ ๐:
-
-* httpx - โ ๐ฅ ๐ ๐ โ๏ธ `TestClient`.
-* jinja2 - โ ๐ฅ ๐ ๐ โ๏ธ ๐ข ๐ ๐ณ.
-* python-multipart - โ ๐ฅ ๐ ๐ ๐โ๐ฆบ ๐จ "โ", โฎ๏ธ `request.form()`.
-* itsdangerous - โ `SessionMiddleware` ๐โ๐ฆบ.
-* pyyaml - โ ๐ `SchemaGenerator` ๐โ๐ฆบ (๐ ๐ฒ ๐ซ ๐ช โซ๏ธ โฎ๏ธ FastAPI).
-
-โ๏ธ FastAPI / ๐:
-
-* uvicorn - ๐ฝ ๐ ๐ & ๐ฆ ๐ ๐ธ.
-* orjson - โ ๐ฅ ๐ ๐ โ๏ธ `ORJSONResponse`.
-* ujson - โ ๐ฅ ๐ ๐ โ๏ธ `UJSONResponse`.
-
-๐ ๐ช โ ๐ ๐ซ โฎ๏ธ `pip install "fastapi[all]"`.
-
-## ๐
-
-๐ ๐ ยฎ ๐ฝ โ ๐ฉ๐ช ๐.
diff --git a/docs/em/docs/project-generation.md b/docs/em/docs/project-generation.md
deleted file mode 100644
index ef6a21821..000000000
--- a/docs/em/docs/project-generation.md
+++ /dev/null
@@ -1,84 +0,0 @@
-# ๐ โก - ๐
-
-๐ ๐ช โ๏ธ ๐ ๐ ๐ค โถ๏ธ, โซ๏ธ ๐ ๐ โถ๏ธ โ ๐, ๐โโ, ๐ฝ & ๐ ๏ธ ๐ โช โ ๐.
-
-๐ ๐ ๐ ๐ง โ๏ธ ๐ถ ๐ ๐ฅ ๐ ๐ ๐ โน & ๐ ๏ธ ๐ ๐ ๐ช, โ๏ธ โซ๏ธ ๐ช ๐ โถ๏ธ โ ๐ ๐.
-
-## ๐ ๐ FastAPI โณ
-
-๐: https://github.com/tiangolo/full-stack-fastapi-postgresql
-
-### ๐ ๐ FastAPI โณ - โ
-
-* ๐ **โ** ๐ ๏ธ (โ ๐งข).
-* โ ๐ ๐ณ ๐ ๏ธ.
-* **โ โ** ๐ ๏ธ & ๐ ๏ธ ๐ง๐ฟ ๐ ๏ธ.
-* **๐ญ ๐** ๐ ๐ธ ๐ฝ โ๏ธ Uvicorn & ๐.
-* ๐ **FastAPI** ๐ฉโ๐ป:
- * **โฉ**: ๐ถ โ ๐ญ, ๐ ๐ท๐ช โฎ๏ธ **โณ** & **๐ถ** (๐ ๐ & Pydantic).
- * **๐๏ธ**: ๐ ๐จโ๐จ ๐โ๐ฆบ. ๐ ๏ธ ๐. ๐ ๐ฐ ๐ ๏ธ.
- * **โฉ**: ๐ง โฉ โ๏ธ & ๐ก. ๐ ๐ฐ ๐ ๐ฉบ.
- * **๐**: ๐ ๐ โ. ๐ โ โช๏ธโก๏ธ ๐ ๐ข ๐.
- * **๐๏ธ**: ๐ค ๐ญ-๐ ๐. โฎ๏ธ ๐ง ๐ ๐งพ.
- * **๐ฉ-โ๏ธ**: โ๏ธ ๐ (& ๐ ๐ โฎ๏ธ) ๐ ๐ฉ ๐: ๐ & ๐ป ๐.
- * **๐ ๐ โ** ๐ ๐ง ๐ฌ, ๐ ๏ธ, ๐ ๐งพ, ๐ค โฎ๏ธ Oauth2๏ธโฃ ๐ฅ ๐ค, โ๏ธ.
-* **๐ ๐** ๐ ๐ข.
-* **๐ฅ ๐ค** ๐ค.
-* **๐ธ๐ฒ** ๐ท (๐ฌ ๐บ โ, ๐ซ ๐ช โ๏ธ โฎ๏ธ ๐ฅ ๐จโ๐ญ ๐).
-* ๐ฐ โถ๏ธ ๐ท ๐ฉโ๐ป (๐ & โ ๐ ๐ช).
-* **โ** ๐ ๏ธ.
-* **โ** (โ๏ธ ๐จ๐ณ โน ๐ค).
-* **๐ฅ** ๐จโ๐ญ ๐ ๐ช ๐ & โ๏ธ ๐ท & ๐ โช๏ธโก๏ธ ๐ ๐ฉโ๐ป ๐.
-* ๐ ๐ฉโ๐ป ๐ฏ โ๏ธ ๐ **โณ**, ๐ ๏ธ โฎ๏ธ โ, ๐ ๐ช ๐ฏ ๐ ๐ ๏ธ ๐, ๐ฌ ๐ ๐ฝ. โซ๏ธ ๐ โ, โซ๏ธ ๐ช ๐ ๐ ๐ฝ ๐ช โช๏ธโก๏ธ ๐ ๐ ๐ฐ (๐ ๐ช โ๏ธ โณ, โณ, โณ, โ๏ธ โซ๏ธโ ๐ ๐, & ๐ฏ ๐ ๐ ๏ธ ๐ท).
-* โฉ ๐ ๐ ๏ธ โฎ๏ธ **๐ ๐พ** ๐ฐ โ๏ธ-โ ๐ ๏ธ โฎ๏ธ โ ๐ โ โ โ๏ธ ๐ ๐ ๐ ๐.
-* **๐ฆ** ๐ธ:
- * ๐ โฎ๏ธ ๐ฆ โณ.
- * **๐ฅ ๐ค** ๐.
- * ๐ณ ๐.
- * โฎ๏ธ ๐ณ, ๐ ๐น ๐.
- * ๐ ๐น โฎ๏ธ ๐ฉโ๐ป ๐ & ๐.
- * ๐ค ๐ฉโ๐ป ๐.
- * **๐ท๐ช**.
- * **๐ฆ-๐ป**.
- * **Vuetify** ๐น ๐งฝ ๐ง ๐ฆฒ.
- * **๐**.
- * โ ๐ฝ โ๏ธ ๐ **๐** (๐ถ ๐คพ ๐ โฎ๏ธ ๐ฆ-๐ป).
- * โ ๐-โถ๏ธ ๐, ๐ ๐ซ ๐ช ๐ โ๏ธ ๐ โ ๐.
- * ๐ธ ๐ฏ ๐ ๐ ๐ฐ (๐ช ๐ ๐โโ๏ธ).
- * โ ๐ง ๐ช, โซ๏ธ ๐ท ๐
๐ฆ, โ๏ธ ๐ ๐ช ๐ค-๐ โฎ๏ธ ๐ฆ โณ โ๏ธ โ โซ๏ธ ๐ ๐ช, & ๐ค-โ๏ธ โซ๏ธโ ๐ ๐.
-* ** *๏ธโฃ ** โณ ๐ฝ, ๐ ๐ช ๐ โซ๏ธ โ๏ธ ๐ & โณ ๐ช.
-* **๐ฅ** ๐ฅ ๐จโ๐ญ โ.
-* ๐ โ ๐ ๐ธ & ๐ฉโ๐ป โฎ๏ธ **Traefik**, ๐ ๐ช โ๏ธ ๐ฏโโ๏ธ ๐ฝ ๐ ๐, ๐ฝ โก, โ๏ธ ๐ฆ ๐ ๐ฆ.
-* Traefik ๐ ๏ธ, โ
โก๏ธ ๐ **๐บ๐ธ๐** ๐ ๐ง โก.
-* โณ **๐** (๐ ๐ ๏ธ), ๐ ๐ธ & ๐ฉโ๐ป ๐ฌ.
-
-## ๐ ๐ FastAPI ๐
-
-๐: https://github.com/tiangolo/full-stack-fastapi-couchbase
-
-๐ถ ๐ถ **โ ** ๐ถ ๐ถ
-
-๐ฅ ๐ โถ๏ธ ๐ ๐ โช๏ธโก๏ธ ๐, โ
๐ ๐ฅ.
-
-๐ผ, ๐ ๐ ๐ ๐ FastAPI โณ ๐ช ๐ ๐, โซ๏ธ ๐ฏ ๐ง & โ๏ธ. & โซ๏ธ ๐ ๐ ๐ โ & ๐.
-
-๐ ๐ โ๏ธ ๐-โ๏ธ ๐ ๐ฅ ๐ ๐, โซ๏ธ ๐ ๐ฒ ๐ท ๐, & ๐ฅ ๐ โช โ๏ธ ๐ ๐ โฎ๏ธ โซ๏ธ ๐ ๐ ๐ (& ๐ ๐ฒ โช โน โซ๏ธ โฃ ๐ ๐ช).
-
-๐ ๐ช โ ๐
๐ โซ๏ธ ๐ฉบ ๐ฆ.
-
-## ๐ ๐ FastAPI โณ
-
-...๐ช ๐ โช, โ๏ธ ๐ ๐ ๐ฐ ๐ & ๐ โ. ๐ถ ๐ถ
-
-## ๐ฐ ๐ซ ๐ท โฎ๏ธ ๐ & FastAPI
-
-๐: https://github.com/microsoft/cookiecutter-spacy-fastapi
-
-### ๐ฐ ๐ซ ๐ท โฎ๏ธ ๐ & FastAPI - โ
-
-* **๐** ๐ ๐ท ๐ ๏ธ.
-* **โ ๐ง ๐** ๐จ ๐ ๐.
-* **๐ญ ๐** ๐ ๐ธ ๐ฝ โ๏ธ Uvicorn & ๐.
-* **โ ๐ฉโ๐ป** Kubernetes (๐ฆฒ) ๐/๐ฟ ๐ ๏ธ ๐.
-* **๐คธโโ** ๐ช โ 1๏ธโฃ ๐ ๐ ๐ช๐ธ โฎ๏ธ ๐ ๐ฅ.
-* **๐ช ๐ง** ๐ ๐ท ๐ ๏ธ (Pytorch, ๐ธ๐ฒ), ๐ซ ๐.
diff --git a/docs/em/docs/python-types.md b/docs/em/docs/python-types.md
deleted file mode 100644
index d2af23bb9..000000000
--- a/docs/em/docs/python-types.md
+++ /dev/null
@@ -1,542 +0,0 @@
-# ๐ ๐ ๐ถ
-
-๐ โ๏ธ ๐โ๐ฆบ ๐ฆ "๐ ๐".
-
-๐ซ **"๐ ๐"** ๐ โ ๐ โ ๐ฃ ๐ ๐ข.
-
-๐ฃ ๐ ๐ ๐ข, ๐จโ๐จ & ๐งฐ ๐ช ๐ค ๐ ๐ ๐โ๐ฆบ.
-
-๐ **โฉ ๐ฐ / โ๏ธ** ๐ ๐ ๐ ๐. โซ๏ธ ๐ ๐ด ๐ฏ ๐ช โ๏ธ ๐ซ โฎ๏ธ **FastAPI**... โ ๐ค ๐ถ ๐ฅ.
-
-**FastAPI** ๐ โ๏ธ ๐ ๐ซ ๐ ๐, ๐ซ ๐ค โซ๏ธ ๐ ๐ & ๐ฐ.
-
-โ๏ธ ๐ฅ ๐ ๐
โ๏ธ **FastAPI**, ๐ ๐ ๐ฐ โช๏ธโก๏ธ ๐ซ ๐ ๐ ๐ซ.
-
-/// note
-
-๐ฅ ๐ ๐ ๐ด, & ๐ โช ๐ญ ๐ ๐ ๐ ๐, ๐ถ โญ ๐.
-
-///
-
-## ๐ฏ
-
-โก๏ธ โถ๏ธ โฎ๏ธ ๐
๐ผ:
-
-```Python
-{!../../docs_src/python_types/tutorial001.py!}
-```
-
-๐ค ๐ ๐ ๐ข:
-
-```
-John Doe
-```
-
-๐ข ๐จ ๐:
-
-* โ `first_name` & `last_name`.
-* ๐ ๐ฅ ๐ค ๐ 1๏ธโฃ โ ๐ผ โฎ๏ธ `title()`.
-* ๐ข ๐ซ โฎ๏ธ ๐ ๐.
-
-```Python hl_lines="2"
-{!../../docs_src/python_types/tutorial001.py!}
-```
-
-### โ โซ๏ธ
-
-โซ๏ธ ๐ถ ๐
๐.
-
-โ๏ธ ๐ ๐ ๐ ๐ โ โซ๏ธ โช๏ธโก๏ธ ๐.
-
-โ ๐ ๐ โ๏ธ โถ๏ธ ๐ ๐ข, ๐ โ๏ธ ๐ข ๐...
-
-โ๏ธ โคด๏ธ ๐ โ๏ธ ๐ค "๐ ๐ฉโ๐ฌ ๐ ๐ ๐ฅ ๐ค โ ๐ผ".
-
-โซ๏ธ `upper`โ โซ๏ธ `uppercase`โ `first_uppercase`โ `capitalize`โ
-
-โคด๏ธ, ๐ ๐ โฎ๏ธ ๐ ๐ฉโ๐ป ๐จโ๐งโ๐ฆ, ๐จโ๐จ โ.
-
-๐ ๐ ๐ฅ ๐ข ๐ข, `first_name`, โคด๏ธ โฃ (`.`) & โคด๏ธ ๐ฏ `Ctrl+Space` โฒ ๐ ๏ธ.
-
-โ๏ธ, ๐, ๐ ๐ค ๐ณ โ :
-
-
-
-### ๐ฎ ๐
-
-โก๏ธ ๐ ๐ โธ โช๏ธโก๏ธ โฎ๏ธ โฌ.
-
-๐ฅ ๐ ๐ โซ๏ธโ ๐ ๐งฌ, ๐ข ๐ข, โช๏ธโก๏ธ:
-
-```Python
- first_name, last_name
-```
-
-:
-
-```Python
- first_name: str, last_name: str
-```
-
-๐ โซ๏ธ.
-
-๐ "๐ ๐":
-
-```Python hl_lines="1"
-{!../../docs_src/python_types/tutorial002.py!}
-```
-
-๐ ๐ซ ๐ ๐ฃ ๐ข ๐ฒ ๐ ๐ โฎ๏ธ:
-
-```Python
- first_name="john", last_name="doe"
-```
-
-โซ๏ธ ๐ ๐.
-
-๐ฅ โ๏ธ โค (`:`), ๐ซ ๐ (`=`).
-
-& โ ๐ ๐ ๐ ๐ซ ๐ โซ๏ธโ ๐จ โช๏ธโก๏ธ โซ๏ธโ ๐ ๐จ ๐ต ๐ซ.
-
-โ๏ธ ๐, ๐ ๐ ๐ ๐ ๐ ๐ ๐ข, โ๏ธ โฎ๏ธ ๐ ๐.
-
-๐ โ, ๐ ๐ โฒ ๐ โฎ๏ธ `Ctrl+Space` & ๐ ๐:
-
-
-
-โฎ๏ธ ๐, ๐ ๐ช ๐, ๐ ๐, โญ ๐ ๐ 1๏ธโฃ ๐ "๐ ๐":
-
-
-
-## ๐
๐ฏ
-
-โ
๐ ๐ข, โซ๏ธ โช โ๏ธ ๐ ๐:
-
-```Python hl_lines="1"
-{!../../docs_src/python_types/tutorial003.py!}
-```
-
-โฉ๏ธ ๐จโ๐จ ๐ญ ๐ ๐ข, ๐ ๐ซ ๐ด ๐ค ๐ ๏ธ, ๐ ๐ค โ โ
:
-
-
-
-๐ ๐ ๐ญ ๐ ๐ โ๏ธ ๐ง โซ๏ธ, ๐ `age` ๐ป โฎ๏ธ `str(age)`:
-
-```Python hl_lines="2"
-{!../../docs_src/python_types/tutorial004.py!}
-```
-
-## ๐ฃ ๐
-
-๐ ๐ ๐ ๐ฅ ๐ฃ ๐ ๐. ๐ข ๐ข.
-
-๐ ๐ ๐ฅ ๐ ๐ โ๏ธ ๐ซ โฎ๏ธ **FastAPI**.
-
-### ๐
๐
-
-๐ ๐ช ๐ฃ ๐ ๐ฉ ๐ ๐, ๐ซ ๐ด `str`.
-
-๐ ๐ช โ๏ธ, ๐ผ:
-
-* `int`
-* `float`
-* `bool`
-* `bytes`
-
-```Python hl_lines="1"
-{!../../docs_src/python_types/tutorial005.py!}
-```
-
-### ๐ ๐ โฎ๏ธ ๐ ๐ข
-
-๐ค ๐ ๐ ๐ ๐ช ๐ ๐ ๐ฒ, ๐ `dict`, `list`, `set` & `tuple`. & ๐ ๐ฒ ๐ช โ๏ธ ๐ซ ๐ ๐ ๐โโ๏ธ.
-
-๐ ๐ ๐ โ๏ธ ๐ ๐ ๐ค "**๐**" ๐. & โซ๏ธ ๐ช ๐ฃ ๐ซ, โฎ๏ธ ๐ซ ๐ ๐.
-
-๐ฃ ๐ ๐ & ๐ ๐, ๐ ๐ช โ๏ธ ๐ฉ ๐ ๐น `typing`. โซ๏ธ ๐ ๐ฏ ๐โ๐ฆบ ๐ซ ๐ ๐.
-
-#### ๐ โฌ ๐
-
-โ โ๏ธ `typing` **๐** โฎ๏ธ ๐ โฌ, โช๏ธโก๏ธ ๐ 3๏ธโฃ.6๏ธโฃ โช ๐, โ
๐ 3๏ธโฃ.9๏ธโฃ, ๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ, โ๏ธ.
-
-๐ ๐ง, **๐ โฌ** ๐ โฎ๏ธ ๐ ๐โ๐ฆบ ๐ ๐ โ & ๐ ๐ผ ๐ ๐ ๐ซ ๐ช ๐ & โ๏ธ `typing` ๐น ๐ฃ ๐ โ.
-
-๐ฅ ๐ ๐ช โ ๐ โฎ๏ธ โฌ ๐ ๐ ๐, ๐ ๐ ๐ช โ ๐ ๐ โ ๐ฆ. ๐ ๐ผ ๐.
-
-#### ๐
-
-๐ผ, โก๏ธ ๐ฌ ๐ข `list` `str`.
-
-//// tab | ๐ 3๏ธโฃ.6๏ธโฃ & ๐
-
-โช๏ธโก๏ธ `typing`, ๐ `List` (โฎ๏ธ ๐ `L`):
-
-```Python hl_lines="1"
-{!> ../../docs_src/python_types/tutorial006.py!}
-```
-
-๐ฃ ๐ข, โฎ๏ธ ๐ โค (`:`) โ.
-
-๐, ๐ฎ `List` ๐ ๐ ๐ โช๏ธโก๏ธ `typing`.
-
-๐ ๐ ๐ ๐ ๐ ๐, ๐ ๐ฎ ๐ซ โฌ ๐:
-
-```Python hl_lines="4"
-{!> ../../docs_src/python_types/tutorial006.py!}
-```
-
-////
-
-//// tab | ๐ 3๏ธโฃ.9๏ธโฃ & ๐
-
-๐ฃ ๐ข, โฎ๏ธ ๐ โค (`:`) โ.
-
-๐, ๐ฎ `list`.
-
-๐ ๐ ๐ ๐ ๐ ๐, ๐ ๐ฎ ๐ซ โฌ ๐:
-
-```Python hl_lines="1"
-{!> ../../docs_src/python_types/tutorial006_py39.py!}
-```
-
-////
-
-/// info
-
-๐ ๐ ๐ โฌ ๐ ๐ค "๐ ๐ข".
-
-๐ ๐ผ, `str` ๐ ๐ข ๐ถโโ๏ธ `List` (โ๏ธ `list` ๐ 3๏ธโฃ.9๏ธโฃ & ๐).
-
-///
-
-๐ โ: "๐ข `items` `list`, & ๐ ๐ฌ ๐ ๐ `str`".
-
-/// tip
-
-๐ฅ ๐ โ๏ธ ๐ 3๏ธโฃ.9๏ธโฃ โ๏ธ ๐, ๐ ๐ซ โ๏ธ ๐ `List` โช๏ธโก๏ธ `typing`, ๐ ๐ช โ๏ธ ๐ ๐ฅ `list` ๐ โฉ๏ธ.
-
-///
-
-๐จ ๐, ๐ ๐จโ๐จ ๐ช ๐ ๐โ๐ฆบ โช ๐ญ ๐ฌ โช๏ธโก๏ธ ๐:
-
-
-
-๐ต ๐, ๐ ๐ ๐ช ๐.
-
-๐ ๐ ๐ข `item` 1๏ธโฃ ๐ฃ ๐ `items`.
-
-& , ๐จโ๐จ ๐ญ โซ๏ธ `str`, & ๐ ๐โ๐ฆบ ๐.
-
-#### ๐ข & โ
-
-๐ ๐ ๐ ๐ฃ `tuple`โ & `set`โ:
-
-//// tab | ๐ 3๏ธโฃ.6๏ธโฃ & ๐
-
-```Python hl_lines="1 4"
-{!> ../../docs_src/python_types/tutorial007.py!}
-```
-
-////
-
-//// tab | ๐ 3๏ธโฃ.9๏ธโฃ & ๐
-
-```Python hl_lines="1"
-{!> ../../docs_src/python_types/tutorial007_py39.py!}
-```
-
-////
-
-๐ โ:
-
-* ๐ข `items_t` `tuple` โฎ๏ธ 3๏ธโฃ ๐ฌ, `int`, โ1๏ธโฃ `int`, & `str`.
-* ๐ข `items_s` `set`, & ๐ ๐ฎ ๐ฌ ๐ `bytes`.
-
-#### #๏ธโฃ
-
-๐ฌ `dict`, ๐ ๐ถโโ๏ธ 2๏ธโฃ ๐ ๐ข, ๐ โ.
-
-๐ฅ ๐ ๐ข ๐ `dict`.
-
-๐ฅ ๐ ๐ข ๐ฒ `dict`:
-
-//// tab | ๐ 3๏ธโฃ.6๏ธโฃ & ๐
-
-```Python hl_lines="1 4"
-{!> ../../docs_src/python_types/tutorial008.py!}
-```
-
-////
-
-//// tab | ๐ 3๏ธโฃ.9๏ธโฃ & ๐
-
-```Python hl_lines="1"
-{!> ../../docs_src/python_types/tutorial008_py39.py!}
-```
-
-////
-
-๐ โ:
-
-* ๐ข `prices` `dict`:
- * ๐ ๐ `dict` ๐ `str` (โก๏ธ ๐ฌ, ๐ ๐ ๐ฌ).
- * ๐ฒ ๐ `dict` ๐ `float` (โก๏ธ ๐ฌ, ๐ ๐ ๐ฌ).
-
-#### ๐ช๐บ
-
-๐ ๐ช ๐ฃ ๐ ๐ข ๐ช ๐ **๐ ๐**, ๐ผ, `int` โ๏ธ `str`.
-
-๐ 3๏ธโฃ.6๏ธโฃ & ๐ (โ
๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ) ๐ ๐ช โ๏ธ `Union` ๐ โช๏ธโก๏ธ `typing` & ๐ฎ ๐ โฌ ๐ ๐ช ๐ ๐ซ.
-
-๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ ๐ค **๐ โ** ๐โ ๐ ๐ช ๐ฎ ๐ช ๐ ๐ฝ โธ โธ (`|`).
-
-//// tab | ๐ 3๏ธโฃ.6๏ธโฃ & ๐
-
-```Python hl_lines="1 4"
-{!> ../../docs_src/python_types/tutorial008b.py!}
-```
-
-////
-
-//// tab | ๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ & ๐
-
-```Python hl_lines="1"
-{!> ../../docs_src/python_types/tutorial008b_py310.py!}
-```
-
-////
-
-๐ฏโโ๏ธ ๐ผ ๐ โ ๐ `item` ๐ช `int` โ๏ธ `str`.
-
-#### ๐ฒ `None`
-
-๐ ๐ช ๐ฃ ๐ ๐ฒ ๐ช โ๏ธ ๐, ๐ `str`, โ๏ธ ๐ โซ๏ธ ๐ช `None`.
-
-๐ 3๏ธโฃ.6๏ธโฃ & ๐ (โ
๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ) ๐ ๐ช ๐ฃ โซ๏ธ ๐ญ & โ๏ธ `Optional` โช๏ธโก๏ธ `typing` ๐น.
-
-```Python hl_lines="1 4"
-{!../../docs_src/python_types/tutorial009.py!}
-```
-
-โ๏ธ `Optional[str]` โฉ๏ธ `str` ๐ โก๏ธ ๐จโ๐จ โน ๐ ๐ โ ๐โ ๐ ๐ช ๐ค ๐ ๐ฒ ๐ง `str`, ๐โ โซ๏ธ ๐ช ๐ค `None` ๐โโ๏ธ.
-
-`Optional[Something]` ๐ค โจ `Union[Something, None]`, ๐ซ ๐.
-
-๐ โ ๐ ๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ, ๐ ๐ช โ๏ธ `Something | None`:
-
-//// tab | ๐ 3๏ธโฃ.6๏ธโฃ & ๐
-
-```Python hl_lines="1 4"
-{!> ../../docs_src/python_types/tutorial009.py!}
-```
-
-////
-
-//// tab | ๐ 3๏ธโฃ.6๏ธโฃ & ๐ - ๐
-
-```Python hl_lines="1 4"
-{!> ../../docs_src/python_types/tutorial009b.py!}
-```
-
-////
-
-//// tab | ๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ & ๐
-
-```Python hl_lines="1"
-{!> ../../docs_src/python_types/tutorial009_py310.py!}
-```
-
-////
-
-#### โ๏ธ `Union` โ๏ธ `Optional`
-
-๐ฅ ๐ โ๏ธ ๐ โฌ ๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ, ๐ฅ ๐โโ โช๏ธโก๏ธ ๐ ๐ถ **๐ค** โ ๐:
-
-* ๐ถ โ โ๏ธ `Optional[SomeType]`
-* โฉ๏ธ ๐ถ **โ๏ธ `Union[SomeType, None]`** ๐ถ.
-
-๐ฏโโ๏ธ ๐ & ๐ ๐ซ ๐, โ๏ธ ๐ค ๐ ๐ `Union` โฉ๏ธ `Optional` โฉ๏ธ ๐ค "**๐ฆ**" ๐ ๐ ๐ ๐ ๐ฒ ๐ฆ, & โซ๏ธ ๐ค โ "โซ๏ธ ๐ช `None`", ๐ฅ โซ๏ธ ๐ซ ๐ฆ & โ.
-
-๐ค ๐ญ `Union[SomeType, None]` ๐ ๐ ๐ โซ๏ธโ โซ๏ธ โ.
-
-โซ๏ธ ๐ ๐ค & ๐. โ๏ธ ๐ ๐ค ๐ช ๐ โ ๐ & ๐ ๐คฝโโ ๐ญ ๐ ๐.
-
-๐ผ, โก๏ธ โ ๐ ๐ข:
-
-```Python hl_lines="1 4"
-{!../../docs_src/python_types/tutorial009c.py!}
-```
-
-๐ข `name` ๐ฌ `Optional[str]`, โ๏ธ โซ๏ธ **๐ซ ๐ฆ**, ๐ ๐ซ๐ ๐ค ๐ข ๐ต ๐ข:
-
-```Python
-say_hi() # Oh, no, this throws an error! ๐ฑ
-```
-
-`name` ๐ข **โ** (๐ซ *๐ฆ*) โฉ๏ธ โซ๏ธ ๐ซ โ๏ธ ๐ข ๐ฒ. , `name` ๐ซ `None` ๐ฒ:
-
-```Python
-say_hi(name=None) # This works, None is valid ๐
-```
-
-๐ ๐ฐ, ๐ ๐ ๐ ๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ ๐ ๐ ๐ซ โ๏ธ ๐ ๐ ๐, ๐ ๐ ๐ช ๐ฏ โ๏ธ `|` ๐ฌ ๐ช๐บ ๐:
-
-```Python hl_lines="1 4"
-{!../../docs_src/python_types/tutorial009c_py310.py!}
-```
-
-& โคด๏ธ ๐ ๐ ๐ซ โ๏ธ ๐ ๐ ๐ ๐ `Optional` & `Union`. ๐ถ
-
-#### ๐ ๐
-
-๐ ๐ ๐ โ ๐ ๐ข โฌ ๐ ๐ค **๐ ๐** โ๏ธ **๐**, ๐ผ:
-
-//// tab | ๐ 3๏ธโฃ.6๏ธโฃ & ๐
-
-* `List`
-* `Tuple`
-* `Set`
-* `Dict`
-* `Union`
-* `Optional`
-* ...& ๐.
-
-////
-
-//// tab | ๐ 3๏ธโฃ.9๏ธโฃ & ๐
-
-๐ ๐ช โ๏ธ ๐ ๐ฝ ๐ ๐ (โฎ๏ธ โฌ ๐ & ๐ ๐):
-
-* `list`
-* `tuple`
-* `set`
-* `dict`
-
- & ๐ โฎ๏ธ ๐ 3๏ธโฃ.6๏ธโฃ, โช๏ธโก๏ธ `typing` ๐น:
-
-* `Union`
-* `Optional`
-* ...& ๐.
-
-////
-
-//// tab | ๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ & ๐
-
-๐ ๐ช โ๏ธ ๐ ๐ฝ ๐ ๐ (โฎ๏ธ โฌ ๐ & ๐ ๐):
-
-* `list`
-* `tuple`
-* `set`
-* `dict`
-
- & ๐ โฎ๏ธ ๐ 3๏ธโฃ.6๏ธโฃ, โช๏ธโก๏ธ `typing` ๐น:
-
-* `Union`
-* `Optional` (๐ โฎ๏ธ ๐ 3๏ธโฃ.6๏ธโฃ)
-* ...& ๐.
-
-๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ, ๐ โ๏ธ ๐ `Union` & `Optional`, ๐ ๐ช โ๏ธ โธ โธ (`|`) ๐ฃ ๐ช๐บ ๐.
-
-////
-
-### ๐ ๐
-
-๐ ๐ช ๐ฃ ๐ ๐ ๐ข.
-
-โก๏ธ ๐ฌ ๐ โ๏ธ ๐ `Person`, โฎ๏ธ ๐:
-
-```Python hl_lines="1-3"
-{!../../docs_src/python_types/tutorial010.py!}
-```
-
-โคด๏ธ ๐ ๐ช ๐ฃ ๐ข ๐ `Person`:
-
-```Python hl_lines="6"
-{!../../docs_src/python_types/tutorial010.py!}
-```
-
-& โคด๏ธ, ๐, ๐ ๐ค ๐ ๐จโ๐จ ๐โ๐ฆบ:
-
-
-
-## Pydantic ๐ท
-
-Pydantic ๐ ๐ ๐ญ ๐ ๐ฌ.
-
-๐ ๐ฃ "๐ " ๐ฝ ๐ โฎ๏ธ ๐ข.
-
-& ๐ ๐ข โ๏ธ ๐.
-
-โคด๏ธ ๐ โ ๐ ๐ ๐ โฎ๏ธ ๐ฒ & โซ๏ธ ๐ โ ๐ฒ, ๐ ๐ซ โ ๐ (๐ฅ ๐ ๐ผ) & ๐ค ๐ ๐ โฎ๏ธ ๐ ๐ฝ.
-
-& ๐ ๐ค ๐ ๐จโ๐จ ๐โ๐ฆบ โฎ๏ธ ๐ ๐ ๐.
-
-๐ผ โช๏ธโก๏ธ ๐ Pydantic ๐ฉบ:
-
-//// tab | ๐ 3๏ธโฃ.6๏ธโฃ & ๐
-
-```Python
-{!> ../../docs_src/python_types/tutorial011.py!}
-```
-
-////
-
-//// tab | ๐ 3๏ธโฃ.9๏ธโฃ & ๐
-
-```Python
-{!> ../../docs_src/python_types/tutorial011_py39.py!}
-```
-
-////
-
-//// tab | ๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ & ๐
-
-```Python
-{!> ../../docs_src/python_types/tutorial011_py310.py!}
-```
-
-////
-
-/// info
-
-๐ก ๐ ๐ Pydantic, โ
๐ฎ ๐ฉบ.
-
-///
-
-**FastAPI** ๐ โ๏ธ ๐ Pydantic.
-
-๐ ๐ ๐ ๐ ๐
๐ ๐ ๐ก [๐ฐ - ๐ฉโ๐ป ๐ฆฎ](tutorial/index.md){.internal-link target=_blank}.
-
-/// tip
-
-Pydantic โ๏ธ ๐ ๐ญ ๐โ ๐ โ๏ธ `Optional` โ๏ธ `Union[Something, None]` ๐ต ๐ข ๐ฒ, ๐ ๐ช โ ๐
๐ โซ๏ธ Pydantic ๐ฉบ ๐ โ ๐ฆ ๐.
-
-///
-
-## ๐ ๐ **FastAPI**
-
-**FastAPI** โ ๐ ๐ซ ๐ ๐ ๐ ๐.
-
-โฎ๏ธ **FastAPI** ๐ ๐ฃ ๐ข โฎ๏ธ ๐ ๐ & ๐ ๐ค:
-
-* **๐จโ๐จ ๐โ๐ฆบ**.
-* **๐ โ
**.
-
-...and **FastAPI** uses the same declarations :
-
-* **๐ฌ ๐**: โช๏ธโก๏ธ ๐จ โก ๐ข, ๐ข ๐ข, ๐, ๐ช, ๐, โ๏ธ.
-* **๐ ๐ฝ**: โช๏ธโก๏ธ ๐จ ๐ ๐.
-* **โ ๐ฝ**: ๐ โช๏ธโก๏ธ ๐ ๐จ:
- * ๐ญ **๐ง โ** ๐จ ๐ฉโ๐ป ๐โ ๐ โ.
-* **๐** ๐ ๏ธ โ๏ธ ๐:
- * โ โคด๏ธ โ๏ธ ๐ง ๐ ๐งพ ๐ฉโ๐ป ๐ข.
-
-๐ 5๏ธโฃ๐ ๐ ๐ ๐. ๐ซ ๐. ๐ ๐ ๐ ๐ ๐ ๐ฏ [๐ฐ - ๐ฉโ๐ป ๐ฆฎ](tutorial/index.md){.internal-link target=_blank}.
-
-โ ๐ ๐ โ๏ธ ๐ฉ ๐ ๐, ๐ ๐ฅ (โฉ๏ธ โ ๐ ๐, ๐จโ๐จ, โ๏ธ), **FastAPI** ๐ ๐ ๐ท ๐.
-
-/// info
-
-๐ฅ ๐ โช ๐ถ ๐ ๐ ๐ฐ & ๐ ๐ ๐ ๐
๐ ๐, ๐ โน "๐ฎ ๐ผ" โช๏ธโก๏ธ `mypy`.
-
-///
diff --git a/docs/em/docs/tutorial/background-tasks.md b/docs/em/docs/tutorial/background-tasks.md
deleted file mode 100644
index 4cbcbc710..000000000
--- a/docs/em/docs/tutorial/background-tasks.md
+++ /dev/null
@@ -1,84 +0,0 @@
-# ๐ฅ ๐
-
-๐ ๐ช ๐ฌ ๐ฅ ๐ ๐ *โฎ๏ธ* ๐ฌ ๐จ.
-
-๐ โ ๐ ๏ธ ๐ ๐ช ๐จ โฎ๏ธ ๐จ, โ๏ธ ๐ ๐ฉโ๐ป ๐ซ ๐ค โ๏ธ โ ๐ ๏ธ ๐ โญ ๐จ ๐จ.
-
-๐ ๐, ๐ผ:
-
-* ๐ง ๐จ ๐จ โฎ๏ธ ๐ญ ๐ฏ:
- * ๐ ๐ง ๐ฝ & ๐จ ๐ง ๐ "๐" (๐ ๐ฅ), ๐ ๐ช ๐จ ๐จ โถ๏ธ๏ธ โ๏ธ & ๐จ ๐ง ๐จ ๐ฅ.
-* ๐ญ ๐ฝ:
- * ๐ผ, โก๏ธ ๐ฌ ๐ ๐จ ๐ ๐ ๐ ๐ถ ๐ ๐ ๐ ๏ธ, ๐ ๐ช ๐จ ๐จ "๐ซ" (๐บ๐ธ๐ 2๏ธโฃ0๏ธโฃ2๏ธโฃ) & ๐ ๏ธ โซ๏ธ ๐ฅ.
-
-## โ๏ธ `BackgroundTasks`
-
-๐ฅ, ๐ `BackgroundTasks` & ๐ฌ ๐ข ๐ *โก ๐ ๏ธ ๐ข* โฎ๏ธ ๐ ๐ `BackgroundTasks`:
-
-{* ../../docs_src/background_tasks/tutorial001.py hl[1,13] *}
-
-**FastAPI** ๐ โ ๐ ๐ `BackgroundTasks` ๐ & ๐ถโโ๏ธ โซ๏ธ ๐ ๐ข.
-
-## โ ๐ ๐ข
-
-โ ๐ข ๐ ๐ฅ ๐.
-
-โซ๏ธ ๐ฉ ๐ข ๐ ๐ช ๐จ ๐ข.
-
-โซ๏ธ ๐ช `async def` โ๏ธ ๐ `def` ๐ข, **FastAPI** ๐ ๐ญ โ ๐ต โซ๏ธ โ.
-
-๐ ๐ผ, ๐ ๐ข ๐ โ ๐ (โ ๐จ ๐ง).
-
-& โ ๐ ๏ธ ๐ซ โ๏ธ `async` & `await`, ๐ฅ ๐ฌ ๐ข โฎ๏ธ ๐ `def`:
-
-{* ../../docs_src/background_tasks/tutorial001.py hl[6:9] *}
-
-## ๐ฎ ๐ฅ ๐
-
-๐ ๐ *โก ๐ ๏ธ ๐ข*, ๐ถโโ๏ธ ๐ ๐ ๐ข *๐ฅ ๐* ๐ โฎ๏ธ ๐ฉโ๐ฌ `.add_task()`:
-
-{* ../../docs_src/background_tasks/tutorial001.py hl[14] *}
-
-`.add_task()` ๐จ โ:
-
-* ๐ ๐ข ๐ ๐ฅ (`write_notification`).
-* ๐ ๐ โ ๐ ๐ ๐ถโโ๏ธ ๐ ๐ข โ (`email`).
-* ๐ ๐จ๐ป โ ๐ ๐ ๐ถโโ๏ธ ๐ ๐ข (`message="some notification"`).
-
-## ๐ ๐
-
-โ๏ธ `BackgroundTasks` ๐ท โฎ๏ธ ๐ ๐ โ๏ธ, ๐ ๐ช ๐ฃ ๐ข ๐ `BackgroundTasks` ๐ ๐: *โก ๐ ๏ธ ๐ข*, ๐ (โ), ๐ง-๐, โ๏ธ.
-
-**FastAPI** ๐ญ โซ๏ธโ ๐ ๐ผ & โ ๐ค-โ๏ธ ๐ ๐, ๐ ๐ ๐ฅ ๐ ๐ ๐ฏโโ๏ธ & ๐ ๐ฅ โฎ๏ธ:
-
-{* ../../docs_src/background_tasks/tutorial002.py hl[13,15,22,25] *}
-
-๐ ๐ผ, ๐ง ๐ โ `log.txt` ๐ *โฎ๏ธ* ๐จ ๐จ.
-
-๐ฅ ๐ค ๐ข ๐จ, โซ๏ธ ๐ โ ๐น ๐ฅ ๐.
-
-& โคด๏ธ โ1๏ธโฃ ๐ฅ ๐ ๐ *โก ๐ ๏ธ ๐ข* ๐ โ ๐ง โ๏ธ `email` โก ๐ข.
-
-## ๐ก โน
-
-๐ `BackgroundTasks` ๐ ๐ โช๏ธโก๏ธ `starlette.background`.
-
-โซ๏ธ ๐/๐ ๐ ๐ FastAPI ๐ ๐ ๐ช ๐ โซ๏ธ โช๏ธโก๏ธ `fastapi` & โ ๐ซ ๐ ๐ `BackgroundTask` (๐ต `s` ๐) โช๏ธโก๏ธ `starlette.background`.
-
-๐ด โ๏ธ `BackgroundTasks` (& ๐ซ `BackgroundTask`), โซ๏ธ โคด๏ธ ๐ช โ๏ธ โซ๏ธ *โก ๐ ๏ธ ๐ข* ๐ข & โ๏ธ **FastAPI** ๐ต ๐ ๐, ๐ ๐โ โ๏ธ `Request` ๐ ๐.
-
-โซ๏ธ ๐ช โ๏ธ `BackgroundTask` ๐ FastAPI, โ๏ธ ๐ โ๏ธ โ ๐ ๐ ๐ & ๐จ ๐ `Response` ๐ โซ๏ธ.
-
-๐ ๐ช ๐ ๐ โน ๐ ๐ ๐ฉบ ๐ฅ ๐.
-
-## โ
-
-๐ฅ ๐ ๐ช ๐ญ ๐๏ธ ๐ฅ ๐ & ๐ ๐ซ ๐ฏ ๐ช โซ๏ธ ๐ ๐ ๐ ๏ธ (๐ผ, ๐ ๐ซ ๐ช ๐ฐ ๐พ, ๐ข, โ๏ธ), ๐ ๐ช ๐ฐ โช๏ธโก๏ธ โ๏ธ ๐ ๐ฆ ๐งฐ ๐ ๐ฅ.
-
-๐ซ ๐ ๐ ๐ ๐ ๐ณ, ๐ง/๐จโ๐ญ ๐ค ๐จโ๐ผ, ๐ โณ โ๏ธ โณ, โ๏ธ ๐ซ โ ๐ ๐ ๐ฅ ๐ ๐ ๐ ๏ธ, & โด๏ธ, ๐ ๐ฝ.
-
-โ๏ธ ๐ฅ ๐ ๐ช ๐ ๐ข & ๐ โช๏ธโก๏ธ ๐ **FastAPI** ๐ฑ, โ๏ธ ๐ ๐ช ๐ญ ๐คช ๐ฅ ๐ (๐ ๐จ ๐ง ๐จ), ๐ ๐ช ๐ฏ โ๏ธ `BackgroundTasks`.
-
-## ๐
-
-๐ & โ๏ธ `BackgroundTasks` โฎ๏ธ ๐ข *โก ๐ ๏ธ ๐ข* & ๐ ๐ฎ ๐ฅ ๐.
diff --git a/docs/em/docs/tutorial/bigger-applications.md b/docs/em/docs/tutorial/bigger-applications.md
deleted file mode 100644
index 78a321ae6..000000000
--- a/docs/em/docs/tutorial/bigger-applications.md
+++ /dev/null
@@ -1,530 +0,0 @@
-# ๐ฆ ๐ธ - ๐ ๐
-
-๐ฅ ๐ ๐ ๐ธ โ๏ธ ๐ธ ๐ ๏ธ, โซ๏ธ ๐ ๐ผ ๐ ๐ ๐ช ๐ฎ ๐ ๐ ๐ ๐.
-
-**FastAPI** ๐ ๐ช ๐งฐ ๐ ๐ ๐ธ โช ๐ง ๐ ๐ช.
-
-/// info
-
-๐ฅ ๐ ๐ โช๏ธโก๏ธ ๐บ, ๐ ๐ ๐ ๐บ ๐.
-
-///
-
-## ๐ผ ๐ ๐
-
-โก๏ธ ๐ฌ ๐ โ๏ธ ๐ ๐ ๐ ๐:
-
-```
-.
-โโโ app
-โย ย โโโ __init__.py
-โย ย โโโ main.py
-โย ย โโโ dependencies.py
-โย ย โโโ routers
-โย ย โ โโโ __init__.py
-โย ย โ โโโ items.py
-โย ย โ โโโ users.py
-โย ย โโโ internal
-โย ย โโโ __init__.py
-โย ย โโโ admin.py
-```
-
-/// tip
-
-๐ค ๐ `__init__.py` ๐: 1๏ธโฃ ๐ ๐ โ๏ธ ๐.
-
-๐ โซ๏ธโ โ ๐ญ ๐ โช๏ธโก๏ธ 1๏ธโฃ ๐ ๐ โ1๏ธโฃ.
-
-๐ผ, `app/main.py` ๐ ๐ช โ๏ธ โธ ๐:
-
-```
-from app.routers import items
-```
-
-///
-
-* `app` ๐ ๐ ๐. & โซ๏ธ โ๏ธ ๐ ๐ `app/__init__.py`, โซ๏ธ "๐ ๐ฆ" (๐ "๐ ๐น"): `app`.
-* โซ๏ธ ๐ `app/main.py` ๐. โซ๏ธ ๐ ๐ ๐ฆ (๐ โฎ๏ธ ๐ `__init__.py`), โซ๏ธ "๐น" ๐ ๐ฆ: `app.main`.
-* ๐ค `app/dependencies.py` ๐, ๐ `app/main.py`, โซ๏ธ "๐น": `app.dependencies`.
-* ๐ค ๐ `app/routers/` โฎ๏ธ โ1๏ธโฃ ๐ `__init__.py`, โซ๏ธ "๐ ๐ฆ": `app.routers`.
-* ๐ `app/routers/items.py` ๐ ๐ฆ, `app/routers/`,, โซ๏ธ ๐: `app.routers.items`.
-* ๐ โฎ๏ธ `app/routers/users.py`, โซ๏ธ โ1๏ธโฃ ๐: `app.routers.users`.
-* ๐ค ๐ `app/internal/` โฎ๏ธ โ1๏ธโฃ ๐ `__init__.py`, โซ๏ธ โ1๏ธโฃ "๐ ๐ฆ": `app.internal`.
-* & ๐ `app/internal/admin.py` โ1๏ธโฃ ๐: `app.internal.admin`.
-
-
-
-## ๐ ๐ ๐ป ๐ ๐ฐ โฎ๏ธ ๐ `prefix`
-
-๐ ๐ช โ๏ธ `.include_router()` ๐ ๐ฐ โฎ๏ธ *๐* ๐ป โ๏ธ ๐ ๐ก.
-
-๐ ๐ช โ , ๐ผ, ๐ฆ ๐ ๐ ๏ธ ๐ฝ ๐ ๐ก, โ
`/api/v1` & `/api/latest`.
-
-๐ ๐ง โ๏ธ ๐ ๐ 5๏ธโฃ๐ ๐ซ ๐ค ๐ช, โ๏ธ โซ๏ธ ๐ค ๐ผ ๐.
-
-## ๐ `APIRouter` โ1๏ธโฃ
-
-๐ ๐ ๐ ๐ช ๐ `APIRouter` `FastAPI` ๐ธ, ๐ ๐ช ๐ `APIRouter` โ1๏ธโฃ `APIRouter` โ๏ธ:
-
-```Python
-router.include_router(other_router)
-```
-
-โ ๐ญ ๐ โซ๏ธ โญ ๐ `router` `FastAPI` ๐ฑ, ๐ *โก ๐ ๏ธ* โช๏ธโก๏ธ `other_router` ๐.
diff --git a/docs/em/docs/tutorial/body-fields.md b/docs/em/docs/tutorial/body-fields.md
deleted file mode 100644
index f202284b5..000000000
--- a/docs/em/docs/tutorial/body-fields.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# ๐ช - ๐
-
-๐ ๐ ๐ ๐ช ๐ฃ ๐ ๐ฌ & ๐ *โก ๐ ๏ธ ๐ข* ๐ข โฎ๏ธ `Query`, `Path` & `Body`, ๐ ๐ช ๐ฃ ๐ฌ & ๐ ๐ Pydantic ๐ท โ๏ธ Pydantic `Field`.
-
-## ๐ `Field`
-
-๐ฅ, ๐ โ๏ธ ๐ โซ๏ธ:
-
-{* ../../docs_src/body_fields/tutorial001.py hl[4] *}
-
-/// warning
-
-๐ ๐ `Field` ๐ ๐ โช๏ธโก๏ธ `pydantic`, ๐ซ โช๏ธโก๏ธ `fastapi` ๐ ๐ (`Query`, `Path`, `Body`, โ๏ธ).
-
-///
-
-## ๐ฃ ๐ท ๐ข
-
-๐ ๐ช โคด๏ธ โ๏ธ `Field` โฎ๏ธ ๐ท ๐ข:
-
-{* ../../docs_src/body_fields/tutorial001.py hl[11:14] *}
-
-`Field` ๐ท ๐ ๐ `Query`, `Path` & `Body`, โซ๏ธ โ๏ธ ๐ ๐ ๐ข, โ๏ธ.
-
-/// note | ๐ก โน
-
-๐ค, `Query`, `Path` & ๐ ๐ ๐ ๐ โญ โ ๐ ๐ฟ โ `Param` ๐, โ โซ๏ธ ๐ฟ Pydantic `FieldInfo` ๐.
-
- & Pydantic `Field` ๐จ ๐ `FieldInfo` ๐.
-
-`Body` ๐จ ๐ ๐ฟ `FieldInfo` ๐. & ๐ค ๐ ๐ ๐ ๐ โช ๐ ๐ฟ `Body` ๐.
-
-๐ญ ๐ ๐โ ๐ ๐ `Query`, `Path`, & ๐ โช๏ธโก๏ธ `fastapi`, ๐ ๐ค ๐ข ๐ ๐จ ๐ ๐.
-
-///
-
-/// tip
-
-๐ โ ๐ ๐ท ๐ข โฎ๏ธ ๐, ๐ข ๐ฒ & `Field` โ๏ธ ๐ ๐ *โก ๐ ๏ธ ๐ข* ๐ข, โฎ๏ธ `Field` โฉ๏ธ `Path`, `Query` & `Body`.
-
-///
-
-## ๐ฎ โ โน
-
-๐ ๐ช ๐ฃ โ โน `Field`, `Query`, `Body`, โ๏ธ. & โซ๏ธ ๐ ๐ ๐ ๐ป ๐.
-
-๐ ๐ ๐ก ๐
๐ โ โ โน โช ๐ฉบ, ๐โ ๐ซ ๐ฃ ๐ผ.
-
-/// warning
-
-โ ๐ ๐ถโโ๏ธ `Field` ๐ ๐ ๐ ๐ ๐ ๐ ๐ธ.
-๐ซ ๐ 5๏ธโฃ๐ ๐ซ ๐ฏ ๐ ๐ ๐ง, ๐ ๐งฐ, ๐ผ [๐ ๐ณ](https://validator.swagger.io/), 5๏ธโฃ๐ ๐ซ ๐ท โฎ๏ธ ๐ ๐ ๐.
-
-///
-
-## ๐
-
-๐ ๐ช โ๏ธ Pydantic `Field` ๐ฃ โ ๐ฌ & ๐ ๐ท ๐ข.
-
-๐ ๐ช โ๏ธ โ ๐จ๐ป โ ๐ถโโ๏ธ ๐ ๐ป ๐ ๐.
diff --git a/docs/em/docs/tutorial/body-multiple-params.md b/docs/em/docs/tutorial/body-multiple-params.md
deleted file mode 100644
index 3a2f2bd54..000000000
--- a/docs/em/docs/tutorial/body-multiple-params.md
+++ /dev/null
@@ -1,171 +0,0 @@
-# ๐ช - ๐ ๐ข
-
-๐ ๐ ๐ฅ โ๏ธ ๐ โ โ๏ธ `Path` & `Query`, โก๏ธ ๐ ๐
๐ง โ๏ธ ๐จ ๐ช ๐.
-
-## ๐ `Path`, `Query` & ๐ช ๐ข
-
-๐ฅ, โ๏ธ, ๐ ๐ช ๐ `Path`, `Query` & ๐จ ๐ช ๐ข ๐ โก & **FastAPI** ๐ ๐ญ โซ๏ธโ.
-
-& ๐ ๐ช ๐ฃ ๐ช ๐ข ๐ฆ, โ ๐ข `None`:
-
-{* ../../docs_src/body_multiple_params/tutorial001.py hl[19:21] *}
-
-/// note
-
-๐ ๐, ๐ ๐ผ, `item` ๐ ๐ โ โช๏ธโก๏ธ ๐ช ๐ฆ. โซ๏ธ โ๏ธ `None` ๐ข ๐ฒ.
-
-///
-
-## ๐ ๐ช ๐ข
-
-โฎ๏ธ ๐ผ, *โก ๐ ๏ธ* ๐ โ ๐ป ๐ช โฎ๏ธ ๐ข `Item`, ๐:
-
-```JSON
-{
- "name": "Foo",
- "description": "The pretender",
- "price": 42.0,
- "tax": 3.2
-}
-```
-
-โ๏ธ ๐ ๐ช ๐ฃ ๐ ๐ช ๐ข, โ
`item` & `user`:
-
-{* ../../docs_src/body_multiple_params/tutorial002.py hl[22] *}
-
-๐ ๐ผ, **FastAPI** ๐ ๐ ๐ ๐ค ๐
๐ 1๏ธโฃ ๐ช ๐ข ๐ข (2๏ธโฃ ๐ข ๐ Pydantic ๐ท).
-
-, โซ๏ธ ๐ โคด๏ธ โ๏ธ ๐ข ๐ ๐ (๐ ๐) ๐ช, & โ ๐ช ๐:
-
-```JSON
-{
- "item": {
- "name": "Foo",
- "description": "The pretender",
- "price": 42.0,
- "tax": 3.2
- },
- "user": {
- "username": "dave",
- "full_name": "Dave Grohl"
- }
-}
-```
-
-/// note
-
-๐ ๐ โ๏ธ `item` ๐ฃ ๐ ๐ โญ, โซ๏ธ ๐ โ ๐ ๐ช โฎ๏ธ ๐ `item`.
-
-///
-
-**FastAPI** ๐ ๐ง ๐ ๏ธ โช๏ธโก๏ธ ๐จ, ๐ ๐ข `item` ๐จ โซ๏ธ ๐ฏ ๐ & ๐ `user`.
-
-โซ๏ธ ๐ ๐ญ ๐ฌ โ ๐ฝ, & ๐ ๐ โซ๏ธ ๐ ๐ ๐ ๐ & ๐ง ๐ฉบ.
-
-## โญ ๐ฒ ๐ช
-
-๐ ๐ ๐ค `Query` & `Path` ๐ฌ โ ๐ฝ ๐ข & โก ๐ข, **FastAPI** ๐ ๐ `Body`.
-
-๐ผ, โ โฎ๏ธ ๐ท, ๐ ๐ช ๐ญ ๐ ๐ ๐ โ๏ธ โ1๏ธโฃ ๐ `importance` ๐ ๐ช, ๐ฅ `item` & `user`.
-
-๐ฅ ๐ ๐ฃ โซ๏ธ, โฉ๏ธ โซ๏ธ โญ ๐ฒ, **FastAPI** ๐ ๐ค ๐ โซ๏ธ ๐ข ๐ข.
-
-โ๏ธ ๐ ๐ช ๐ก **FastAPI** ๐ฅ โซ๏ธ โ1๏ธโฃ ๐ช ๐ โ๏ธ `Body`:
-
-{* ../../docs_src/body_multiple_params/tutorial003.py hl[22] *}
-
-๐ ๐ผ, **FastAPI** ๐ โ ๐ช ๐:
-
-```JSON
-{
- "item": {
- "name": "Foo",
- "description": "The pretender",
- "price": 42.0,
- "tax": 3.2
- },
- "user": {
- "username": "dave",
- "full_name": "Dave Grohl"
- },
- "importance": 5
-}
-```
-
-๐, โซ๏ธ ๐ ๐ ๐ ๐, โ, ๐, โ๏ธ.
-
-## ๐ ๐ช = & ๐ข
-
-โ๏ธ, ๐ ๐ช ๐ฃ ๐ ๐ข ๐ข ๐โ ๐ ๐ช, ๐ ๐ ๐ช ๐ข.
-
-, ๐ข, โญ ๐ฒ ๐ฌ ๐ข ๐ข, ๐ ๐ซ โ๏ธ ๐ฏ ๐ฎ `Query`, ๐ ๐ช:
-
-```Python
-q: Union[str, None] = None
-```
-
-โ๏ธ ๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ & ๐:
-
-```Python
-q: str | None = None
-```
-
-๐ผ:
-
-{* ../../docs_src/body_multiple_params/tutorial004.py hl[27] *}
-
-/// info
-
-`Body` โ๏ธ ๐ ๐ โ ๐ฌ & ๐ ๐ข `Query`,`Path` & ๐ ๐ ๐ ๐ โช.
-
-///
-
-## โฏ ๐ ๐ช ๐ข
-
-โก๏ธ ๐ฌ ๐ ๐ด โ๏ธ ๐ `item` ๐ช ๐ข โช๏ธโก๏ธ Pydantic ๐ท `Item`.
-
-๐ข, **FastAPI** ๐ โคด๏ธ โ ๐ฎ ๐ช ๐.
-
-โ๏ธ ๐ฅ ๐ ๐ โซ๏ธ โ ๐ป โฎ๏ธ ๐ `item` & ๐ โซ๏ธ ๐ท ๐, โซ๏ธ ๐จ ๐โ ๐ ๐ฃ โ ๐ช ๐ข, ๐ ๐ช โ๏ธ ๐ `Body` ๐ข `embed`:
-
-```Python
-item: Item = Body(embed=True)
-```
-
-:
-
-{* ../../docs_src/body_multiple_params/tutorial005.py hl[17] *}
-
-๐ ๐ผ **FastAPI** ๐ โ ๐ช ๐:
-
-```JSON hl_lines="2"
-{
- "item": {
- "name": "Foo",
- "description": "The pretender",
- "price": 42.0,
- "tax": 3.2
- }
-}
-```
-
-โฉ๏ธ:
-
-```JSON
-{
- "name": "Foo",
- "description": "The pretender",
- "price": 42.0,
- "tax": 3.2
-}
-```
-
-## ๐
-
-๐ ๐ช ๐ฎ ๐ ๐ช ๐ข ๐ *โก ๐ ๏ธ ๐ข*, โ๏ธ ๐จ ๐ช ๐ด โ๏ธ ๐ ๐ช.
-
-โ๏ธ **FastAPI** ๐ ๐ต โซ๏ธ, ๐ค ๐ โ ๐ ๐ ๐ข, & โ & ๐ โ ๐ *โก ๐ ๏ธ*.
-
-๐ ๐ช ๐ฃ โญ ๐ฒ ๐จ ๐ ๐ช.
-
-& ๐ ๐ช ๐ก **FastAPI** โฏ ๐ช ๐ ๐โ ๐ค ๐ด ๐ ๐ข ๐ฃ.
diff --git a/docs/em/docs/tutorial/body-nested-models.md b/docs/em/docs/tutorial/body-nested-models.md
deleted file mode 100644
index 6c8d5a610..000000000
--- a/docs/em/docs/tutorial/body-nested-models.md
+++ /dev/null
@@ -1,247 +0,0 @@
-# ๐ช - ๐ ๐ท
-
-โฎ๏ธ **FastAPI**, ๐ ๐ช ๐ฌ, โ, ๐, & โ๏ธ ๐ฒ ๐ ๐ฆ ๐ท (๐ Pydantic).
-
-## ๐ ๐
-
-๐ ๐ช ๐ฌ ๐ข ๐พ. ๐ผ, ๐ `list`:
-
-{* ../../docs_src/body_nested_models/tutorial001.py hl[14] *}
-
-๐ ๐ โ `tags` ๐, ๐ โซ๏ธ ๐ซ ๐ฃ ๐ ๐ฃ ๐.
-
-## ๐ ๐ โฎ๏ธ ๐ ๐ข
-
-โ๏ธ ๐ โ๏ธ ๐ฏ ๐ ๐ฃ ๐ โฎ๏ธ ๐ ๐, โ๏ธ "๐ ๐ข":
-
-### ๐ โจ `List`
-
-๐ 3๏ธโฃ.9๏ธโฃ & ๐ ๐ ๐ช โ๏ธ ๐ฉ `list` ๐ฃ ๐ซ ๐ โ ๐ฅ ๐ ๐ ๐. ๐ถ
-
-โ๏ธ ๐ โฌ โญ 3๏ธโฃ.9๏ธโฃ (3๏ธโฃ.6๏ธโฃ & ๐), ๐ ๐ฅ ๐ช ๐ `List` โช๏ธโก๏ธ ๐ฉ ๐ `typing` ๐น:
-
-{* ../../docs_src/body_nested_models/tutorial002.py hl[1] *}
-
-### ๐ฃ `list` โฎ๏ธ ๐ ๐ข
-
-๐ฃ ๐ ๐ โ๏ธ ๐ ๐ข (๐ ๐), ๐ `list`, `dict`, `tuple`:
-
-* ๐ฅ ๐ ๐ โฌ ๐
๐ 3๏ธโฃ.9๏ธโฃ, ๐ ๐ซ ๐ โฌ โช๏ธโก๏ธ `typing` ๐น
-* ๐ถโโ๏ธ ๐ ๐(โ) "๐ ๐ข" โ๏ธ โฌ ๐: `[` & `]`
-
-๐ 3๏ธโฃ.9๏ธโฃ โซ๏ธ ๐:
-
-```Python
-my_list: list[str]
-```
-
-โฌ ๐ โญ 3๏ธโฃ.9๏ธโฃ, โซ๏ธ ๐:
-
-```Python
-from typing import List
-
-my_list: List[str]
-```
-
-๐ ๐ ๐ฉ ๐ โ ๐ ๐.
-
-โ๏ธ ๐ ๐ ๐ฉ โ ๐ท ๐ข โฎ๏ธ ๐ ๐.
-
-, ๐ ๐ผ, ๐ฅ ๐ช โ `tags` ๐ฏ "๐ ๐ป":
-
-{* ../../docs_src/body_nested_models/tutorial002.py hl[14] *}
-
-## โ ๐
-
-โ๏ธ โคด๏ธ ๐ฅ ๐ญ ๐ โซ๏ธ, & ๐ค ๐ ๐ ๐ซ๐ ๐ซ ๐, ๐ซ ๐ ๐ฒ ๐ ๐ป.
-
-& ๐ โ๏ธ ๐ ๐ฝ ๐ โ ๐ ๐ฌ, `set`.
-
-โคด๏ธ ๐ฅ ๐ช ๐ฃ `tags` โ ๐ป:
-
-{* ../../docs_src/body_nested_models/tutorial003.py hl[1,14] *}
-
-โฎ๏ธ ๐, ๐ฅ ๐ ๐จ ๐จ โฎ๏ธ โ ๐, โซ๏ธ ๐ ๐ โ ๐ ๐ฌ.
-
-& ๐โ ๐ ๐ข ๐ ๐, ๐ฅ โน โ๏ธ โ, โซ๏ธ ๐ ๐ข โ ๐ ๐ฌ.
-
-& โซ๏ธ ๐ โ / ๐ โก๏ธ ๐โโ๏ธ.
-
-## ๐ฆ ๐ท
-
-๐ ๐ข Pydantic ๐ท โ๏ธ ๐.
-
-โ๏ธ ๐ ๐ ๐ช โซ๏ธ โ1๏ธโฃ Pydantic ๐ท.
-
-, ๐ ๐ช ๐ฃ ๐ ๐ฆ ๐ป "๐" โฎ๏ธ ๐ฏ ๐ข ๐, ๐ & ๐ฌ.
-
-๐ ๐, ๐ฒ ๐ฆ.
-
-### ๐ฌ ๐
-
-๐ผ, ๐ฅ ๐ช ๐ฌ `Image` ๐ท:
-
-{* ../../docs_src/body_nested_models/tutorial004.py hl[9:11] *}
-
-### โ๏ธ ๐ ๐
-
-& โคด๏ธ ๐ฅ ๐ช โ๏ธ โซ๏ธ ๐ ๐ข:
-
-{* ../../docs_src/body_nested_models/tutorial004.py hl[20] *}
-
-๐ ๐ โ ๐ **FastAPI** ๐ โ ๐ช ๐:
-
-```JSON
-{
- "name": "Foo",
- "description": "The pretender",
- "price": 42.0,
- "tax": 3.2,
- "tags": ["rock", "metal", "bar"],
- "image": {
- "url": "http://example.com/baz.jpg",
- "name": "The Foo live"
- }
-}
-```
-
-๐, ๐คธ ๐ ๐, โฎ๏ธ **FastAPI** ๐ ๐ค:
-
-* ๐จโ๐จ ๐โ๐ฆบ (๐ ๏ธ, โ๏ธ), ๐ฆ ๐ท
-* ๐ฝ ๐ ๏ธ
-* ๐ฝ ๐ฌ
-* ๐ง ๐งพ
-
-## ๐ ๐ & ๐ฌ
-
-โ๏ธ โช๏ธโก๏ธ ๐ โญ ๐ ๐ `str`, `int`, `float`, โ๏ธ. ๐ ๐ช โ๏ธ ๐
๐ โญ ๐ ๐ ๐ โช๏ธโก๏ธ `str`.
-
-๐ ๐ ๐ ๐ โ๏ธ, ๐ ๐ฉบ Pydantic ๐ ๐. ๐ ๐ ๐ ๐ผ โญ ๐.
-
-๐ผ, `Image` ๐ท ๐ฅ โ๏ธ `url` ๐, ๐ฅ ๐ช ๐ฃ โซ๏ธ โฉ๏ธ `str`, Pydantic `HttpUrl`:
-
-{* ../../docs_src/body_nested_models/tutorial005.py hl[4,10] *}
-
-๐ป ๐ โ
โ ๐, & ๐ ๐ป ๐ / ๐ โ
.
-
-## ๐ข โฎ๏ธ ๐ ๐
-
-๐ ๐ช โ๏ธ Pydantic ๐ท ๐พ `list`, `set`, โ๏ธ:
-
-{* ../../docs_src/body_nested_models/tutorial006.py hl[20] *}
-
-๐ ๐ โ (๐, โ, ๐, โ๏ธ) ๐ป ๐ช ๐:
-
-```JSON hl_lines="11"
-{
- "name": "Foo",
- "description": "The pretender",
- "price": 42.0,
- "tax": 3.2,
- "tags": [
- "rock",
- "metal",
- "bar"
- ],
- "images": [
- {
- "url": "http://example.com/baz.jpg",
- "name": "The Foo live"
- },
- {
- "url": "http://example.com/dave.jpg",
- "name": "The Baz"
- }
- ]
-}
-```
-
-/// info
-
-๐ โ `images` ๐ ๐ โ๏ธ ๐ ๐ผ ๐.
-
-///
-
-## ๐ ๐ฆ ๐ท
-
-๐ ๐ช ๐ฌ ๐ฒ ๐ ๐ฆ ๐ท:
-
-{* ../../docs_src/body_nested_models/tutorial007.py hl[9,14,20,23,27] *}
-
-/// info
-
-๐ โ `Offer` โ๏ธ ๐ `Item`โ, โ ๐ โ๏ธ ๐ฆ ๐ `Image`โ
-
-///
-
-## ๐ช ๐ ๐
-
-๐ฅ ๐ ๐ ๐ฒ ๐ป ๐ช ๐ โ ๐ป `array` (๐ `list`), ๐ ๐ช ๐ฃ ๐ ๐ข ๐ข, ๐ Pydantic ๐ท:
-
-```Python
-images: List[Image]
-```
-
-โ๏ธ ๐ 3๏ธโฃ.9๏ธโฃ & ๐:
-
-```Python
-images: list[Image]
-```
-
-:
-
-{* ../../docs_src/body_nested_models/tutorial008.py hl[15] *}
-
-## ๐จโ๐จ ๐โ๐ฆบ ๐
-
-& ๐ ๐ค ๐จโ๐จ ๐โ๐ฆบ ๐.
-
-๐ฌ ๐ ๐:
-
-
-
-๐ ๐ซ ๐ซ ๐ค ๐ ๐ ๐จโ๐จ ๐โ๐ฆบ ๐ฅ ๐ ๐ท ๐ โฎ๏ธ `dict` โฉ๏ธ Pydantic ๐ท.
-
-โ๏ธ ๐ ๐ซ โ๏ธ ๐ ๐ ๐ซ ๐ฏโโ๏ธ, ๐จ #๏ธโฃ ๐ ๐ & ๐ ๐ข ๐ ๐ ๐ป ๐โโ๏ธ.
-
-## ๐ช โ `dict`โ
-
-๐ ๐ช ๐ฃ ๐ช `dict` โฎ๏ธ ๐ ๐ & ๐ฒ ๐ ๐.
-
-๐ต โ๏ธ ๐ญ โช โซ๏ธโ โ ๐/๐ข ๐ (๐ ๐ผ โฎ๏ธ Pydantic ๐ท).
-
-๐ ๐ โ ๐ฅ ๐ ๐ ๐จ ๐ ๐ ๐ ๐ซ โช ๐ญ.
-
----
-
-๐ โ ๐ผ ๐โ ๐ ๐ โ๏ธ ๐ ๐ ๐, โ
`int`.
-
-๐ โซ๏ธโ ๐ฅ ๐ ๐ ๐ฅ.
-
-๐ ๐ผ, ๐ ๐ ๐ซ ๐ `dict` ๐ โซ๏ธ โ๏ธ `int` ๐ โฎ๏ธ `float` ๐ฒ:
-
-{* ../../docs_src/body_nested_models/tutorial009.py hl[9] *}
-
-/// tip
-
-โ๏ธ ๐คฏ ๐ ๐ป ๐ด ๐โ๐ฆบ `str` ๐.
-
-โ๏ธ Pydantic โ๏ธ ๐ง ๐ฝ ๐ ๏ธ.
-
-๐ โ ๐, โ๏ธ ๐ ๐ ๏ธ ๐ฉโ๐ป ๐ช ๐ด ๐จ ๐ป ๐, ๐ ๐ ๐ป ๐ ๐ ๐ข, Pydantic ๐ ๐ ๐ซ & โ ๐ซ.
-
- & `dict` ๐ ๐จ `weights` ๐ ๐ค โ๏ธ `int` ๐ & `float` ๐ฒ.
-
-///
-
-## ๐
-
-โฎ๏ธ **FastAPI** ๐ โ๏ธ ๐ ๐ช ๐ Pydantic ๐ท, โช ๐ง ๐ ๐ ๐
, ๐ & ๐.
-
-โ๏ธ โฎ๏ธ ๐ ๐ฐ:
-
-* ๐จโ๐จ ๐โ๐ฆบ (๐ ๏ธ ๐ โ)
-* ๐ฝ ๐ ๏ธ (.โ.. โ / ๐ ๏ธ)
-* ๐ฝ ๐ฌ
-* ๐ ๐งพ
-* ๐ง ๐ฉบ
diff --git a/docs/em/docs/tutorial/body-updates.md b/docs/em/docs/tutorial/body-updates.md
deleted file mode 100644
index 7e2fbfaf7..000000000
--- a/docs/em/docs/tutorial/body-updates.md
+++ /dev/null
@@ -1,100 +0,0 @@
-# ๐ช - โน
-
-## โน โ โฎ๏ธ `PUT`
-
-โน ๐ฌ ๐ ๐ช โ๏ธ ๐บ๐ธ๐ `PUT` ๐ ๏ธ.
-
-๐ ๐ช โ๏ธ `jsonable_encoder` ๐ ๐ข ๐ฝ ๐ ๐ ๐ช ๐ช ๐ป (โ
โฎ๏ธ โ ๐ฝ). ๐ผ, ๐ญ `datetime` `str`.
-
-{* ../../docs_src/body_updates/tutorial001.py hl[30:35] *}
-
-`PUT` โ๏ธ ๐จ ๐ฝ ๐ ๐ โ โป ๐ฝ.
-
-### โ ๐ โ
-
-๐ โ ๐ ๐ฅ ๐ ๐ โน ๐ฌ `bar` โ๏ธ `PUT` โฎ๏ธ ๐ช โ:
-
-```Python
-{
- "name": "Barz",
- "price": 3,
- "description": None,
-}
-```
-
-โฉ๏ธ โซ๏ธ ๐ซ ๐ โช ๐ช ๐ข `"tax": 20.2`, ๐ข ๐ท ๐ โ ๐ข ๐ฒ `"tax": 10.5`.
-
-& ๐ ๐ ๐ โฎ๏ธ ๐ "๐" `tax` `10.5`.
-
-## ๐ โน โฎ๏ธ `PATCH`
-
-๐ ๐ช โ๏ธ ๐บ๐ธ๐ `PATCH` ๐ ๏ธ *๐* โน ๐ฝ.
-
-๐ โ ๐ ๐ ๐ช ๐จ ๐ด ๐ฝ ๐ ๐ ๐ โน, ๐ ๐ ๐ฃ.
-
-/// note
-
-`PATCH` ๐ ๐ โ๏ธ & ๐ญ ๐ `PUT`.
-
- & ๐ ๐ โ๏ธ ๐ด `PUT`, ๐ โน.
-
-๐ **๐** โ๏ธ ๐ซ ๐ ๐ ๐, **FastAPI** ๐ซ ๐ซ ๐ ๐ซ.
-
-โ๏ธ ๐ ๐ฆฎ ๐ฆ ๐, ๐ โ๏ธ ๐, โ ๐ซ ๐ฏ โ๏ธ.
-
-///
-
-### โ๏ธ Pydantic `exclude_unset` ๐ข
-
-๐ฅ ๐ ๐ ๐จ ๐ โน, โซ๏ธ ๐ถ โ โ๏ธ ๐ข `exclude_unset` Pydantic ๐ท `.dict()`.
-
-๐ `item.dict(exclude_unset=True)`.
-
-๐ ๐ ๐ `dict` โฎ๏ธ ๐ด ๐ฝ ๐ โ ๐โ ๐ `item` ๐ท, ๐ซ ๐ข ๐ฒ.
-
-โคด๏ธ ๐ ๐ช โ๏ธ ๐ ๐ `dict` โฎ๏ธ ๐ด ๐ฝ ๐ โ (๐จ ๐จ), ๐ซ ๐ข ๐ฒ:
-
-{* ../../docs_src/body_updates/tutorial002.py hl[34] *}
-
-### โ๏ธ Pydantic `update` ๐ข
-
-๐, ๐ ๐ช โ ๐ โป ๐ท โ๏ธ `.copy()`, & ๐ถโโ๏ธ `update` ๐ข โฎ๏ธ `dict` โ ๐ฝ โน.
-
-๐ `stored_item_model.copy(update=update_data)`:
-
-{* ../../docs_src/body_updates/tutorial002.py hl[35] *}
-
-### ๐ โน ๐
-
-๐, โ ๐ โน ๐ ๐:
-
-* (โ) โ๏ธ `PATCH` โฉ๏ธ `PUT`.
-* ๐ ๐ช ๐ฝ.
-* ๐ฎ ๐ ๐ฝ Pydantic ๐ท.
-* ๐ `dict` ๐ต ๐ข ๐ฒ โช๏ธโก๏ธ ๐ข ๐ท (โ๏ธ `exclude_unset`).
- * ๐ ๐ ๐ ๐ช โน ๐ด ๐ฒ ๐ค โ ๐ฉโ๐ป, โฉ๏ธ ๐ ๐ฒ โช ๐ช โฎ๏ธ ๐ข ๐ฒ ๐ ๐ท.
-* โ ๐ ๐ช ๐ท, ๐ ๏ธ โซ๏ธ ๐ข โฎ๏ธ ๐จ ๐ โน (โ๏ธ `update` ๐ข).
-* ๐ ๐ ๐ท ๐ณ ๐ ๐ช ๐ช ๐ ๐ฝ (๐ผ, โ๏ธ `jsonable_encoder`).
- * ๐ โญ โ๏ธ ๐ท `.dict()` ๐ฉโ๐ฌ ๐, โ๏ธ โซ๏ธ โ ๐ญ (& ๐) ๐ฒ ๐ฝ ๐ ๐ ๐ช ๐ ๐ป, ๐ผ, `datetime` `str`.
-* ๐ ๐ฝ ๐ ๐ฝ.
-* ๐จ โน ๐ท.
-
-{* ../../docs_src/body_updates/tutorial002.py hl[30:37] *}
-
-/// tip
-
-๐ ๐ช ๐ค โ๏ธ ๐ ๐ โ โฎ๏ธ ๐บ๐ธ๐ `PUT` ๐ ๏ธ.
-
-โ๏ธ ๐ผ ๐ฅ โ๏ธ `PATCH` โฉ๏ธ โซ๏ธ โ ๐ซ โ๏ธ ๐ผ.
-
-///
-
-/// note
-
-๐ ๐ ๐ข ๐ท โ.
-
-, ๐ฅ ๐ ๐ ๐จ ๐ โน ๐ ๐ช ๐ซ ๐ ๐ข, ๐ ๐ช โ๏ธ ๐ท โฎ๏ธ ๐ ๐ข โข ๐ฆ (โฎ๏ธ ๐ข ๐ฒ โ๏ธ `None`).
-
-๐ฌ โช๏ธโก๏ธ ๐ท โฎ๏ธ ๐ ๐ฆ ๐ฒ **โน** & ๐ท โฎ๏ธ โ ๐ฒ **๐**, ๐ ๐ช โ๏ธ ๐ญ ๐ฌ [โ ๐ท](extra-models.md){.internal-link target=_blank}.
-
-///
diff --git a/docs/em/docs/tutorial/body.md b/docs/em/docs/tutorial/body.md
deleted file mode 100644
index 09e1d7cca..000000000
--- a/docs/em/docs/tutorial/body.md
+++ /dev/null
@@ -1,162 +0,0 @@
-# ๐จ ๐ช
-
-๐โ ๐ ๐ช ๐จ ๐ โช๏ธโก๏ธ ๐ฉโ๐ป (โก๏ธ ๐ฌ, ๐ฅ) ๐ ๐ ๏ธ, ๐ ๐จ โซ๏ธ **๐จ ๐ช**.
-
-**๐จ** ๐ช ๐ ๐จ ๐ฉโ๐ป ๐ ๐ ๏ธ. **๐จ** ๐ช ๐ฝ ๐ ๐ ๏ธ ๐จ ๐ฉโ๐ป.
-
-๐ ๐ ๏ธ ๐ ๐ง โ๏ธ ๐จ **๐จ** ๐ช. โ๏ธ ๐ฉโ๐ป ๐ซ ๐ฏ ๐ช ๐จ **๐จ** ๐ช ๐ ๐ฐ.
-
-๐ฃ **๐จ** ๐ช, ๐ โ๏ธ Pydantic ๐ท โฎ๏ธ ๐ ๐ซ ๐๏ธ & ๐ฐ.
-
-/// info
-
-๐จ ๐ฝ, ๐ ๐ โ๏ธ 1๏ธโฃ: `POST` (๐
โ ), `PUT`, `DELETE` โ๏ธ `PATCH`.
-
-๐จ ๐ช โฎ๏ธ `GET` ๐จ โ๏ธ โ ๐ญ ๐ง, ๐, โซ๏ธ ๐โ๐ฆบ FastAPI, ๐ด ๐ถ ๐/๐ โ๏ธ ๐ผ.
-
-โซ๏ธ ๐ซ, ๐ ๐ฉบ โฎ๏ธ ๐ฆ ๐ ๐ ๐ซ ๐ฆ ๐งพ ๐ช ๐โ โ๏ธ `GET`, & ๐ณ ๐ ๐ช ๐ซ ๐โ๐ฆบ โซ๏ธ.
-
-///
-
-## ๐ Pydantic `BaseModel`
-
-๐ฅ, ๐ ๐ช ๐ `BaseModel` โช๏ธโก๏ธ `pydantic`:
-
-{* ../../docs_src/body/tutorial001.py hl[4] *}
-
-## โ ๐ ๐ฝ ๐ท
-
-โคด๏ธ ๐ ๐ฃ ๐ ๐ฝ ๐ท ๐ ๐ ๐ โช๏ธโก๏ธ `BaseModel`.
-
-โ๏ธ ๐ฉ ๐ ๐ ๐ ๐ข:
-
-{* ../../docs_src/body/tutorial001.py hl[7:11] *}
-
-๐ ๐โ ๐ฃ ๐ข ๐ข, ๐โ ๐ท ๐ข โ๏ธ ๐ข ๐ฒ, โซ๏ธ ๐ซ โ. โช, โซ๏ธ โ. โ๏ธ `None` โ โซ๏ธ ๐ฆ.
-
-๐ผ, ๐ ๐ท ๐ ๐ฃ ๐ป "`object`" (โ๏ธ ๐ `dict`) ๐:
-
-```JSON
-{
- "name": "Foo",
- "description": "An optional description",
- "price": 45.2,
- "tax": 3.5
-}
-```
-
-... `description` & `tax` ๐ฆ (โฎ๏ธ ๐ข ๐ฒ `None`), ๐ ๐ป "`object`" ๐ โ:
-
-```JSON
-{
- "name": "Foo",
- "price": 45.2
-}
-```
-
-## ๐ฃ โซ๏ธ ๐ข
-
-๐ฎ โซ๏ธ ๐ *โก ๐ ๏ธ*, ๐ฃ โซ๏ธ ๐ ๐ ๐ ๐ฃ โก & ๐ข ๐ข:
-
-{* ../../docs_src/body/tutorial001.py hl[18] *}
-
-...& ๐ฃ ๐ฎ ๐ ๐ท ๐ โ, `Item`.
-
-## ๐
-
-โฎ๏ธ ๐ ๐ ๐ ๐, **FastAPI** ๐:
-
-* โ ๐ช ๐จ ๐ป.
-* ๐ ๐ ๐ (๐ฅ ๐ช).
-* โ ๐ฝ.
- * ๐ฅ ๐ฝ โ, โซ๏ธ ๐ ๐จ ๐ & ๐ โ, โ ๏ธ โซ๏ธโ ๐โ & โซ๏ธโ โ ๐.
-* ๐ค ๐ ๐จ ๐ ๐ข `item`.
- * ๐ ๐ฃ โซ๏ธ ๐ข ๐ `Item`, ๐ ๐ โ๏ธ ๐ ๐จโ๐จ ๐โ๐ฆบ (๐ ๏ธ, โ๏ธ) ๐ ๐ข & ๐ซ ๐.
-* ๐ ๐ป ๐ ๐ ๐ ๐ท, ๐ ๐ช โ๏ธ ๐ซ ๐ ๐ ๐ ๐ ๐ฅ โซ๏ธ โ ๐ ๐ ๐.
-* ๐ ๐ ๐ ๐ ๐ ๐ ๐, & โ๏ธ ๐ง ๐งพ โ.
-
-## ๐ง ๐ฉบ
-
-๐ป ๐ ๐ ๐ท ๐ ๐ ๐ ๐ ๐ ๐, & ๐ ๐ฆ ๐ ๐ ๏ธ ๐ฉบ:
-
-
-
-& ๐ โ๏ธ ๐ ๏ธ ๐ฉบ ๐ ๐ *โก ๐ ๏ธ* ๐ ๐ช ๐ซ:
-
-
-
-## ๐จโ๐จ ๐โ๐ฆบ
-
-๐ ๐จโ๐จ, ๐ ๐ ๐ข ๐ ๐ ๐ค ๐ ๐ & ๐ ๏ธ ๐ (๐ ๐ซ๐ ๐จ ๐ฅ ๐ ๐จ `dict` โฉ๏ธ Pydantic ๐ท):
-
-
-
-๐ ๐ค โ โ
โ ๐ ๐ ๏ธ:
-
-
-
-๐ ๐ซ ๐ค, ๐ ๐ ๏ธ ๐ ๐คญ ๐ ๐ง.
-
-& โซ๏ธ ๐ ๐ฏ ๐ง ๐, โญ ๐ ๐ ๏ธ, ๐ โซ๏ธ ๐ ๐ท โฎ๏ธ ๐ ๐จโ๐จ.
-
-๐ค ๐ Pydantic โซ๏ธ ๐โ๐ฆบ ๐.
-
-โฎ๏ธ ๐ผ โ โฎ๏ธ ๐ ๐ ๐.
-
-โ๏ธ ๐ ๐ ๐ค ๐ ๐จโ๐จ ๐โ๐ฆบ โฎ๏ธ ๐ & ๐
๐ ๐ ๐จโ๐จ:
-
-
-
-/// tip
-
-๐ฅ ๐ โ๏ธ ๐ ๐ ๐จโ๐จ, ๐ ๐ช โ๏ธ Pydantic ๐ ๐.
-
-โซ๏ธ ๐ ๐จโ๐จ ๐โ๐ฆบ Pydantic ๐ท, โฎ๏ธ:
-
-* ๐-๐ ๏ธ
-* ๐ โ
-* ๐ ๏ธ
-* ๐
-* ๐ฌ
-
-///
-
-## โ๏ธ ๐ท
-
-๐ ๐ข, ๐ ๐ช ๐ ๐ ๐ข ๐ท ๐ ๐:
-
-{* ../../docs_src/body/tutorial002.py hl[21] *}
-
-## ๐จ ๐ช โ โก ๐ข
-
-๐ ๐ช ๐ฃ โก ๐ข & ๐จ ๐ช ๐ ๐ฐ.
-
-**FastAPI** ๐ ๐ค ๐ ๐ข ๐ข ๐ ๐ โก ๐ข ๐ **โ โช๏ธโก๏ธ โก**, & ๐ ๐ข ๐ข ๐ ๐ฃ Pydantic ๐ท ๐ **โ โช๏ธโก๏ธ ๐จ ๐ช**.
-
-{* ../../docs_src/body/tutorial003.py hl[17:18] *}
-
-## ๐จ ๐ช โ โก โ ๐ข ๐ข
-
-๐ ๐ช ๐ฃ **๐ช**, **โก** & **๐ข** ๐ข, ๐ ๐ ๐ฐ.
-
-**FastAPI** ๐ ๐ค ๐ ๐ซ & โ ๐ โช๏ธโก๏ธ โ ๐ฅ.
-
-{* ../../docs_src/body/tutorial004.py hl[18] *}
-
-๐ข ๐ข ๐ ๐ค โฉ:
-
-* ๐ฅ ๐ข ๐ฃ **โก**, โซ๏ธ ๐ โ๏ธ โก ๐ข.
-* ๐ฅ ๐ข **โญ ๐** (๐ `int`, `float`, `str`, `bool`, โ๏ธ) โซ๏ธ ๐ ๐ฌ **๐ข** ๐ข.
-* ๐ฅ ๐ข ๐ฃ ๐ **Pydantic ๐ท**, โซ๏ธ ๐ ๐ฌ ๐จ **๐ช**.
-
-/// note
-
-FastAPI ๐ ๐ญ ๐ ๐ฒ `q` ๐ซ โ โฉ๏ธ ๐ข ๐ฒ `= None`.
-
- `Union` `Union[str, None]` ๐ซ โ๏ธ FastAPI, โ๏ธ ๐ โ ๐ ๐จโ๐จ ๐ค ๐ ๐ ๐โ๐ฆบ & ๐ โ.
-
-///
-
-## ๐ต Pydantic
-
-๐ฅ ๐ ๐ซ ๐ โ๏ธ Pydantic ๐ท, ๐ ๐ช โ๏ธ **๐ช** ๐ข. ๐ ๐ฉบ [๐ช - ๐ ๐ข: โญ ๐ฒ ๐ช](body-multiple-params.md#_2){.internal-link target=_blank}.
diff --git a/docs/em/docs/tutorial/cookie-params.md b/docs/em/docs/tutorial/cookie-params.md
deleted file mode 100644
index 4699fe2a5..000000000
--- a/docs/em/docs/tutorial/cookie-params.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# ๐ช ๐ข
-
-๐ ๐ช ๐ฌ ๐ช ๐ข ๐ ๐ ๐ ๐ฌ `Query` & `Path` ๐ข.
-
-## ๐ `Cookie`
-
-๐ฅ ๐ `Cookie`:
-
-{* ../../docs_src/cookie_params/tutorial001.py hl[3] *}
-
-## ๐ฃ `Cookie` ๐ข
-
-โคด๏ธ ๐ฃ ๐ช ๐ข โ๏ธ ๐ ๐ โฎ๏ธ `Path` & `Query`.
-
-๐ฅ ๐ฒ ๐ข ๐ฒ, ๐ ๐ช ๐ถโโ๏ธ ๐ โ ๐ฌ โ๏ธ โ ๐ข:
-
-{* ../../docs_src/cookie_params/tutorial001.py hl[9] *}
-
-/// note | ๐ก โน
-
-`Cookie` "๐ญ" ๐ `Path` & `Query`. โซ๏ธ ๐ โช๏ธโก๏ธ ๐ โ `Param` ๐.
-
-โ๏ธ ๐ญ ๐ ๐โ ๐ ๐ `Query`, `Path`, `Cookie` & ๐ โช๏ธโก๏ธ `fastapi`, ๐ ๐ค ๐ข ๐ ๐จ ๐ ๐.
-
-///
-
-/// info
-
-๐ฃ ๐ช, ๐ ๐ช โ๏ธ `Cookie`, โฉ๏ธ โช ๐ข ๐ ๐ฌ ๐ข ๐ข.
-
-///
-
-## ๐
-
-๐ฃ ๐ช โฎ๏ธ `Cookie`, โ๏ธ ๐ โ โ `Query` & `Path`.
diff --git a/docs/em/docs/tutorial/cors.md b/docs/em/docs/tutorial/cors.md
deleted file mode 100644
index 44ab4adc5..000000000
--- a/docs/em/docs/tutorial/cors.md
+++ /dev/null
@@ -1,85 +0,0 @@
-# โ (โ๏ธ-๐จ๐ณ โน ๐ค)
-
-โ โ๏ธ "โ๏ธ-๐จ๐ณ โน ๐ค" ๐ โ ๐โ ๐ธ ๐โโ ๐ฅ โ๏ธ ๐ธ ๐ ๐ ๐ โฎ๏ธ ๐ฉโ๐ป, & ๐ฉโ๐ป ๐ "๐จ๐ณ" ๐ ๐ธ.
-
-## ๐จ๐ณ
-
-๐จ๐ณ ๐ ๐ ๏ธ (`http`, `https`), ๐ (`myapp.com`, `localhost`, `localhost.tiangolo.com`), & โด (`80`, `443`, `8080`).
-
-, ๐ ๐ซ ๐ ๐จ๐ณ:
-
-* `http://localhost`
-* `https://localhost`
-* `http://localhost:8080`
-
-๐ฅ ๐ซ ๐ `localhost`, ๐ซ โ๏ธ ๐ ๐ ๏ธ โ๏ธ โด,, ๐ซ ๐ "๐จ๐ณ".
-
-## ๐
-
-, โก๏ธ ๐ฌ ๐ โ๏ธ ๐ธ ๐ ๐ ๐ฅ `http://localhost:8080`, & ๐ฎ ๐ธ ๐ ๐ โฎ๏ธ ๐ฉโ๐ป ๐ `http://localhost` (โฉ๏ธ ๐ฅ ๐ซ โ โด, ๐ฅ ๐ ๐ค ๐ข โด `80`).
-
-โคด๏ธ, ๐ฅ ๐ ๐จ ๐บ๐ธ๐ `OPTIONS` ๐จ ๐ฉโ๐ป, & ๐ฅ ๐ฉโ๐ป ๐จ โ ๐ โ ๐ป โช๏ธโก๏ธ ๐ ๐ ๐จ๐ณ (`http://localhost:8080`) โคด๏ธ ๐ฅ ๐ โก๏ธ ๐ธ ๐ธ ๐จ ๐ฎ ๐จ ๐ฉโ๐ป.
-
-๐ ๐, ๐ฉโ๐ป ๐ โ๏ธ ๐ "โ ๐จ๐ณ".
-
-๐ ๐ผ, โซ๏ธ ๐ โ๏ธ ๐ `http://localhost:8080` ๐ธ ๐ท โ.
-
-## ๐
-
-โซ๏ธ ๐ช ๐ฃ ๐ `"*"` ("๐") ๐ฌ ๐ ๐ โ.
-
-โ๏ธ ๐ ๐ ๐ด โ ๐ฏ ๐ ๐ป, ๐ซ ๐ ๐ ๐ ๐: ๐ช, โ ๐ ๐ ๐ โ๏ธ โฎ๏ธ ๐จ ๐ค, โ๏ธ.
-
-, ๐ ๐ท โ, โซ๏ธ ๐ป โ ๐ฏ โ ๐จ๐ณ.
-
-## โ๏ธ `CORSMiddleware`
-
-๐ ๐ช ๐ โซ๏ธ ๐ **FastAPI** ๐ธ โ๏ธ `CORSMiddleware`.
-
-* ๐ `CORSMiddleware`.
-* โ ๐ โ ๐จ๐ณ (๐ป).
-* ๐ฎ โซ๏ธ "๐ ๏ธ" ๐ **FastAPI** ๐ธ.
-
-๐ ๐ช โ ๐ฅ ๐ ๐ฉโ๐ป โ:
-
-* ๐ (โ ๐, ๐ช, โ๏ธ).
-* ๐ฏ ๐บ๐ธ๐ ๐ฉโ๐ฌ (`POST`, `PUT`) โ๏ธ ๐ ๐ซ โฎ๏ธ ๐ `"*"`.
-* ๐ฏ ๐บ๐ธ๐ ๐ โ๏ธ ๐ ๐ซ โฎ๏ธ ๐ `"*"`.
-
-{* ../../docs_src/cors/tutorial001.py hl[2,6:11,13:19] *}
-
-๐ข ๐ข โ๏ธ `CORSMiddleware` ๐ ๏ธ ๐ซ ๐ข, ๐ ๐ ๐ช ๐ฏ ๐ ๏ธ ๐ฏ ๐จ๐ณ, ๐ฉโ๐ฌ, โ๏ธ ๐, โ ๐ฅ โ โ๏ธ ๐ซ โ๏ธ-๐ ๐.
-
-๐ โ ๐โ๐ฆบ:
-
-* `allow_origins` - ๐ ๐จ๐ณ ๐ ๐ โ โ โ๏ธ-๐จ๐ณ ๐จ. ๐คถ โ. `['https://example.org', 'https://www.example.org']`. ๐ ๐ช โ๏ธ `['*']` โ ๐ ๐จ๐ณ.
-* `allow_origin_regex` - ๐ป ๐ป ๐ ๐ก ๐จ๐ณ ๐ ๐ โ โ โ๏ธ-๐จ๐ณ ๐จ. โ
`'https://.*\.example\.org'`.
-* `allow_methods` - ๐ ๐บ๐ธ๐ ๐ฉโ๐ฌ ๐ ๐ โ โ๏ธ-๐จ๐ณ ๐จ. ๐ข `['GET']`. ๐ ๐ช โ๏ธ `['*']` โ ๐ ๐ฉ ๐ฉโ๐ฌ.
-* `allow_headers` - ๐ ๐บ๐ธ๐ ๐จ ๐ ๐ ๐ ๐โ๐ฆบ โ๏ธ-๐จ๐ณ ๐จ. ๐ข `[]`. ๐ ๐ช โ๏ธ `['*']` โ ๐ ๐. `Accept`, `Accept-Language`, `Content-Language` & `Content-Type` ๐ ๐ง โ ๐
โ ๐จ.
-* `allow_credentials` - ๐ฆ ๐ ๐ช ๐ ๐โ๐ฆบ โ๏ธ-๐จ๐ณ ๐จ. ๐ข `False`. , `allow_origins` ๐ซ๐ โ `['*']` ๐ โ, ๐จ๐ณ ๐ โ.
-* `expose_headers` - ๐ฆ ๐ ๐จ ๐ ๐ ๐ โ โฟ ๐ฅ. ๐ข `[]`.
-* `max_age` - โ ๐ ๐ฐ ๐ฅ ๐ฅ ๐พ โ ๐จ. ๐ข `600`.
-
-๐ ๏ธ ๐จ 2๏ธโฃ ๐ฏ ๐ ๐บ๐ธ๐ ๐จ...
-
-### โ ๐ซ ๐จ
-
-๐ ๐ `OPTIONS` ๐จ โฎ๏ธ `Origin` & `Access-Control-Request-Method` ๐.
-
-๐ ๐ผ ๐ ๏ธ ๐ ๐ ๐จ ๐จ & ๐จ โฎ๏ธ โ โ ๐, & ๐ฏโโ๏ธ `200` โ๏ธ `400` ๐จ ๐ ๐ฏ.
-
-### ๐
๐จ
-
-๐ ๐จ โฎ๏ธ `Origin` ๐. ๐ ๐ผ ๐ ๏ธ ๐ ๐ถโโ๏ธ ๐จ ๐ ๐, โ๏ธ ๐ ๐ โ โ ๐ ๐ ๐จ.
-
-## ๐
โน
-
-๐ โน ๐ โ, โ
๐ฆ โ ๐งพ.
-
-/// note | ๐ก โน
-
-๐ ๐ช โ๏ธ `from starlette.middleware.cors import CORSMiddleware`.
-
-**FastAPI** ๐ ๐ ๐ ๏ธ `fastapi.middleware` ๐ช ๐, ๐ฉโ๐ป. โ๏ธ ๐
๐ช ๐ ๏ธ ๐ ๐ โช๏ธโก๏ธ ๐.
-
-///
diff --git a/docs/em/docs/tutorial/debugging.md b/docs/em/docs/tutorial/debugging.md
deleted file mode 100644
index 97e61a763..000000000
--- a/docs/em/docs/tutorial/debugging.md
+++ /dev/null
@@ -1,113 +0,0 @@
-# ๐ ๏ธ
-
-๐ ๐ช ๐ ๐น ๐ ๐จโ๐จ, ๐ผ โฎ๏ธ ๐ ๐ ๐ โ๏ธ ๐.
-
-## ๐ค `uvicorn`
-
-๐ FastAPI ๐ธ, ๐ & ๐ `uvicorn` ๐:
-
-{* ../../docs_src/debugging/tutorial001.py hl[1,15] *}
-
-### ๐ `__name__ == "__main__"`
-
-๐ ๐ฏ `__name__ == "__main__"` โ๏ธ ๐ ๐ ๐ ๏ธ ๐โ ๐ ๐ ๐ค โฎ๏ธ:
-
-
-
----
-
-๐ฅ ๐ โ๏ธ ๐, ๐ ๐ช:
-
-* ๐ "๐" ๐ฃ.
-* ๐ ๐ "โน...".
-* โคด๏ธ ๐ ๐ฃ ๐ฆ ๐.
-* ๐ ๐ โน (๐ ๐ผ, `main.py`).
-
-โซ๏ธ ๐ โคด๏ธ โถ๏ธ ๐ฝ โฎ๏ธ ๐ **FastAPI** ๐, โ๏ธ ๐ 0๏ธโฃ, โ๏ธ.
-
-๐ฅ โ โซ๏ธ ๐ช ๐:
-
-
diff --git a/docs/em/docs/tutorial/dependencies/classes-as-dependencies.md b/docs/em/docs/tutorial/dependencies/classes-as-dependencies.md
deleted file mode 100644
index 41938bc7b..000000000
--- a/docs/em/docs/tutorial/dependencies/classes-as-dependencies.md
+++ /dev/null
@@ -1,180 +0,0 @@
-# ๐ ๐
-
-โญ ๐คฟ โฌ ๐ **๐ ๐** โ๏ธ, โก๏ธ โป โฎ๏ธ ๐ผ.
-
-## `dict` โช๏ธโก๏ธ โฎ๏ธ ๐ผ
-
-โฎ๏ธ ๐ผ, ๐ฅ ๐ฌ `dict` โช๏ธโก๏ธ ๐ ๐ ("โ"):
-
-{* ../../docs_src/dependencies/tutorial001.py hl[9] *}
-
-โ๏ธ โคด๏ธ ๐ฅ ๐ค `dict` ๐ข `commons` *โก ๐ ๏ธ ๐ข*.
-
-& ๐ฅ ๐ญ ๐ ๐จโ๐จ ๐ช ๐ซ ๐ ๐ ๐โ๐ฆบ (๐ ๐ ๏ธ) `dict`โ, โฉ๏ธ ๐ซ ๐ช ๐ซ ๐ญ ๐ซ ๐ & ๐ฒ ๐.
-
-๐ฅ ๐ช ๐...
-
-## โซ๏ธโ โ ๐
-
-๐ ๐ ๐ โ๏ธ ๐ ๐ ๐ฃ ๐ข.
-
-โ๏ธ ๐ ๐ซ ๐ด ๐ ๐ฃ ๐ (๐ โซ๏ธ ๐ ๐ฒ ๐ โ ).
-
-๐ โ ๐ ๐ ๐ "๐ง๐ฒ".
-
-"**๐ง๐ฒ**" ๐ ๐ณ ๐ ๐ ๐ช "๐ค" ๐ ๐ข.
-
-, ๐ฅ ๐ โ๏ธ ๐ `something` (๐ ๐ช _๐ซ_ ๐ข) & ๐ ๐ช "๐ค" โซ๏ธ (๐ ๏ธ โซ๏ธ) ๐:
-
-```Python
-something()
-```
-
-โ๏ธ
-
-```Python
-something(some_argument, some_keyword_argument="foo")
-```
-
-โคด๏ธ โซ๏ธ "๐ง๐ฒ".
-
-## ๐ ๐
-
-๐ 5๏ธโฃ๐ ๐ ๐ โ ๐ ๐ ๐, ๐ โ๏ธ ๐ ๐ โ.
-
-๐ผ:
-
-```Python
-class Cat:
- def __init__(self, name: str):
- self.name = name
-
-
-fluffy = Cat(name="Mr Fluffy")
-```
-
-๐ ๐ผ, `fluffy` ๐ ๐ `Cat`.
-
-& โ `fluffy`, ๐ "๐ค" `Cat`.
-
-, ๐ ๐ **๐ง๐ฒ**.
-
-โคด๏ธ, **FastAPI**, ๐ ๐ช โ๏ธ ๐ ๐ ๐.
-
-โซ๏ธโ FastAPI ๐ค โ
๐ โซ๏ธ "๐ง๐ฒ" (๐ข, ๐ โ๏ธ ๐ณ ๐) & ๐ข ๐ฌ.
-
-๐ฅ ๐ ๐ถโโ๏ธ "๐ง๐ฒ" ๐ **FastAPI**, โซ๏ธ ๐ ๐ฌ ๐ข ๐ "๐ง๐ฒ", & ๐ ๏ธ ๐ซ ๐ ๐ ๐ข *โก ๐ ๏ธ ๐ข*. โ
๐ง-๐.
-
-๐ โ ๐ง๐ฒ โฎ๏ธ ๐
โโ ๐ข ๐. ๐ โซ๏ธ ๐ *โก ๐ ๏ธ ๐ข* โฎ๏ธ ๐
โโ ๐ข.
-
-โคด๏ธ, ๐ฅ ๐ช ๐ ๐ "โ" `common_parameters` โช๏ธโก๏ธ ๐ ๐ `CommonQueryParams`:
-
-{* ../../docs_src/dependencies/tutorial002.py hl[11:15] *}
-
-๐ธ ๐ `__init__` ๐ฉโ๐ฌ โ๏ธ โ ๐ ๐:
-
-{* ../../docs_src/dependencies/tutorial002.py hl[12] *}
-
-...โซ๏ธ โ๏ธ ๐ ๐ข ๐ โฎ๏ธ `common_parameters`:
-
-{* ../../docs_src/dependencies/tutorial001.py hl[9] *}
-
-๐ ๐ข โซ๏ธโ **FastAPI** ๐ โ๏ธ "โ" ๐.
-
-๐ฏโโ๏ธ ๐ผ, โซ๏ธ ๐ โ๏ธ:
-
-* ๐ฆ `q` ๐ข ๐ข ๐ `str`.
-* `skip` ๐ข ๐ข ๐ `int`, โฎ๏ธ ๐ข `0`.
-* `limit` ๐ข ๐ข ๐ `int`, โฎ๏ธ ๐ข `100`.
-
-๐ฏโโ๏ธ ๐ผ ๐ฝ ๐ ๐, โ, ๐ ๐ ๐ ๐, โ๏ธ.
-
-## โ๏ธ โซ๏ธ
-
-๐ ๐ ๐ช ๐ฃ ๐ ๐ โ๏ธ ๐ ๐.
-
-{* ../../docs_src/dependencies/tutorial002.py hl[19] *}
-
-**FastAPI** ๐ค `CommonQueryParams` ๐. ๐ โ "๐" ๐ ๐ & ๐ ๐ ๐ถโโ๏ธ ๐ข `commons` ๐ ๐ข.
-
-## ๐ โ ๐ `Depends`
-
-๐ โ ๐ฅ โ `CommonQueryParams` ๐ ๐ ๐:
-
-```Python
-commons: CommonQueryParams = Depends(CommonQueryParams)
-```
-
-๐ `CommonQueryParams`,:
-
-```Python
-... = Depends(CommonQueryParams)
-```
-
-...โซ๏ธโ **FastAPI** ๐ ๐ค โ๏ธ ๐ญ โซ๏ธโ ๐.
-
-โช๏ธโก๏ธ โซ๏ธ ๐ FastAPI ๐ โ ๐ฃ ๐ข & ๐ โซ๏ธโ FastAPI ๐ ๐ค ๐ค.
-
----
-
-๐ ๐ผ, ๐ฅ `CommonQueryParams`,:
-
-```Python
-commons: CommonQueryParams ...
-```
-
-...๐ซ โ๏ธ ๐ ๐ ๐ **FastAPI**. FastAPI ๐ ๐ซ โ๏ธ โซ๏ธ ๐ฝ ๐ ๏ธ, ๐ฌ, โ๏ธ. (โซ๏ธ โ๏ธ `= Depends(CommonQueryParams)` ๐).
-
-๐ ๐ช ๐ค โ:
-
-```Python
-commons = Depends(CommonQueryParams)
-```
-
-...:
-
-{* ../../docs_src/dependencies/tutorial003.py hl[19] *}
-
-โ๏ธ ๐ฃ ๐ ๐ก ๐ ๐ ๐ ๐จโ๐จ ๐ ๐ญ โซ๏ธโ ๐ ๐ถโโ๏ธ ๐ข `commons`, & โคด๏ธ โซ๏ธ ๐ช โน ๐ โฎ๏ธ ๐ ๐ ๏ธ, ๐ โ
, โ๏ธ:
-
-
-
-## โจ
-
-โ๏ธ ๐ ๐ ๐ ๐ฅ โ๏ธ ๐ ๐ ๐ฅ, โ `CommonQueryParams` ๐:
-
-```Python
-commons: CommonQueryParams = Depends(CommonQueryParams)
-```
-
-**FastAPI** ๐ โจ ๐ซ ๐ผ, ๐โ ๐ *๐ฏ* ๐ ๐ **FastAPI** ๐ "๐ค" โ ๐ ๐ โซ๏ธ.
-
-๐ ๐ฏ ๐ผ, ๐ ๐ช ๐:
-
-โฉ๏ธ โ:
-
-```Python
-commons: CommonQueryParams = Depends(CommonQueryParams)
-```
-
-...๐ โ:
-
-```Python
-commons: CommonQueryParams = Depends()
-```
-
-๐ ๐ฃ ๐ ๐ ๐ข, & ๐ โ๏ธ `Depends()` ๐ฎ "๐ข" ๐ฒ (๐ โฎ๏ธ `=`) ๐ ๐ข ๐ข, ๐ต ๐ ๐ข `Depends()`, โฉ๏ธ โ๏ธ โ ๐ ๐ *๐* ๐ `Depends(CommonQueryParams)`.
-
-๐ ๐ผ ๐ โคด๏ธ ๐ ๐:
-
-{* ../../docs_src/dependencies/tutorial004.py hl[19] *}
-
-...& **FastAPI** ๐ ๐ญ โซ๏ธโ.
-
-/// tip
-
-๐ฅ ๐ ๐ ๐
๐จ ๐ ๐, ๐คทโโ โซ๏ธ, ๐ ๐ซ *๐ช* โซ๏ธ.
-
-โซ๏ธ โจ. โฉ๏ธ **FastAPI** ๐
๐ ๐ค ๐ ๐ ๐ ๐.
-
-///
diff --git a/docs/em/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md b/docs/em/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
deleted file mode 100644
index ab144a497..000000000
--- a/docs/em/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# ๐ โก ๐ ๏ธ ๐จโ๐จ
-
-๐ผ ๐ ๐ซ ๐ค ๐ช ๐จ ๐ฒ ๐ ๐ ๐ *โก ๐ ๏ธ ๐ข*.
-
-โ๏ธ ๐ ๐ซ ๐จ ๐ฒ.
-
-โ๏ธ ๐ ๐ช โซ๏ธ ๐ ๏ธ/โ.
-
-๐ ๐ผ, โฉ๏ธ ๐ฃ *โก ๐ ๏ธ ๐ข* ๐ข โฎ๏ธ `Depends`, ๐ ๐ช ๐ฎ `list` `dependencies` *โก ๐ ๏ธ ๐จโ๐จ*.
-
-## ๐ฎ `dependencies` *โก ๐ ๏ธ ๐จโ๐จ*
-
-*โก ๐ ๏ธ ๐จโ๐จ* ๐จ ๐ฆ โ `dependencies`.
-
-โซ๏ธ ๐ `list` `Depends()`:
-
-{* ../../docs_src/dependencies/tutorial006.py hl[17] *}
-
-๐ ๐ ๐ ๐ ๏ธ/โ ๐ ๐ ๐ ๐. โ๏ธ ๐ซ ๐ฒ (๐ฅ ๐ซ ๐จ ๐) ๐ ๐ซ ๐ถโโ๏ธ ๐ *โก ๐ ๏ธ ๐ข*.
-
-/// tip
-
-๐จโ๐จ โ
โป ๐ข ๐ข, & ๐ฆ ๐ซ โ.
-
-โ๏ธ ๐ `dependencies` *โก ๐ ๏ธ ๐จโ๐จ* ๐ ๐ช โ ๐ญ ๐ซ ๐ ๏ธ โช โ ๐จโ๐จ/๐ญ โ.
-
-โซ๏ธ ๐ช โน โ ๐จ ๐ ๐ฉโ๐ป ๐ ๐ โป ๐ข ๐ ๐ & ๐ช ๐ญ โซ๏ธ ๐.
-
-///
-
-/// info
-
-๐ ๐ผ ๐ฅ โ๏ธ ๐ญ ๐ ๐ `X-Key` & `X-Token`.
-
-โ๏ธ ๐ฐ ๐ผ, ๐โ ๐ ๏ธ ๐โโ, ๐ ๐ ๐ค ๐ ๐ฐ โช๏ธโก๏ธ โ๏ธ ๐ ๏ธ [๐โโ ๐ (โญ ๐)](../security/index.md){.internal-link target=_blank}.
-
-///
-
-## ๐ โ & ๐จ ๐ฒ
-
-๐ ๐ช โ๏ธ ๐ ๐ *๐ข* ๐ โ๏ธ ๐.
-
-### ๐ ๐
-
-๐ซ ๐ช ๐ฃ ๐จ ๐ (๐ ๐) โ๏ธ ๐ ๐ง-๐:
-
-{* ../../docs_src/dependencies/tutorial006.py hl[6,11] *}
-
-### ๐ค โ
-
-๐ซ ๐ ๐ช `raise` โ , ๐ ๐ ๐:
-
-{* ../../docs_src/dependencies/tutorial006.py hl[8,13] *}
-
-### ๐จ ๐ฒ
-
-& ๐ซ ๐ช ๐จ ๐ฒ โ๏ธ ๐ซ, ๐ฒ ๐ ๐ซ โ๏ธ.
-
-, ๐ ๐ช ๐ค-โ๏ธ ๐ ๐ (๐ ๐จ ๐ฒ) ๐ โช โ๏ธ ๐ฑ ๐, & โ๏ธ ๐ฒ ๐ ๐ซ โ๏ธ, ๐ ๐ ๐ ๏ธ:
-
-{* ../../docs_src/dependencies/tutorial006.py hl[9,14] *}
-
-## ๐ ๐ช *โก ๐ ๏ธ*
-
-โช, ๐โ ๐ ๐ โ ๐ ๐ฆ ๐ธ ([๐ฆ ๐ธ - ๐ ๐](../../tutorial/bigger-applications.md){.internal-link target=_blank}), ๐ฒ โฎ๏ธ ๐ ๐, ๐ ๐ ๐ก โ ๐ฃ ๐ `dependencies` ๐ข ๐ช *โก ๐ ๏ธ*.
-
-## ๐ ๐
-
-โญ ๐ฅ ๐ ๐ โ ๐ฎ ๐ ๐ `FastAPI` ๐ธ, ๐ ๐ซ โ ๐ *โก ๐ ๏ธ*.
diff --git a/docs/em/docs/tutorial/dependencies/dependencies-with-yield.md b/docs/em/docs/tutorial/dependencies/dependencies-with-yield.md
deleted file mode 100644
index 1b37b1cf2..000000000
--- a/docs/em/docs/tutorial/dependencies/dependencies-with-yield.md
+++ /dev/null
@@ -1,232 +0,0 @@
-# ๐ โฎ๏ธ ๐พ
-
-FastAPI ๐โ๐ฆบ ๐ ๐ โ ๐ โฎ๏ธ ๐.
-
-๐, โ๏ธ `yield` โฉ๏ธ `return`, & โ โ ๐ โฎ๏ธ.
-
-/// tip
-
-โ ๐ญ โ๏ธ `yield` 1๏ธโฃ ๐ ๐ฐ.
-
-///
-
-/// note | ๐ก โน
-
-๐ ๐ข ๐ โ โ๏ธ โฎ๏ธ:
-
-* `@contextlib.contextmanager` โ๏ธ
-* `@contextlib.asynccontextmanager`
-
-๐ โ โ๏ธ **FastAPI** ๐.
-
-๐, FastAPI โ๏ธ ๐ 2๏ธโฃ ๐จโ๐จ ๐.
-
-///
-
-## ๐ฝ ๐ โฎ๏ธ `yield`
-
-๐ผ, ๐ ๐ช โ๏ธ ๐ โ ๐ฝ ๐ & ๐ โซ๏ธ โฎ๏ธ ๐.
-
-๐ด ๐ โญ & ๐ `yield` ๐ ๐ ๏ธ โญ ๐จ ๐จ:
-
-{* ../../docs_src/dependencies/tutorial007.py hl[2:4] *}
-
-๐พ ๐ฒ โซ๏ธโ ๐ ๐ *โก ๐ ๏ธ* & ๐ ๐:
-
-{* ../../docs_src/dependencies/tutorial007.py hl[4] *}
-
-๐ ๐ `yield` ๐ ๐ ๏ธ โฎ๏ธ ๐จ โ๏ธ ๐:
-
-{* ../../docs_src/dependencies/tutorial007.py hl[5:6] *}
-
-/// tip
-
-๐ ๐ช โ๏ธ `async` โ๏ธ ๐ ๐ข.
-
-**FastAPI** ๐ โถ๏ธ๏ธ ๐ โฎ๏ธ ๐ , ๐ โฎ๏ธ ๐ ๐.
-
-///
-
-## ๐ โฎ๏ธ `yield` & `try`
-
-๐ฅ ๐ โ๏ธ `try` ๐ซ ๐ โฎ๏ธ `yield`, ๐ ๐ ๐จ ๐ โ ๐ ๐ฎ ๐โ โ๏ธ ๐.
-
-๐ผ, ๐ฅ ๐ โ ๐, โ1๏ธโฃ ๐ โ๏ธ *โก ๐ ๏ธ*, โ ๐ฝ ๐ต "๐พ" โ๏ธ โ ๐ ๐ โ, ๐ ๐ ๐จ โ ๐ ๐.
-
-, ๐ ๐ช ๐ ๐ ๐ฏ โ ๐ ๐ โฎ๏ธ `except SomeException`.
-
-๐ ๐, ๐ ๐ช โ๏ธ `finally` โ ๐ญ ๐ช ๐ถ ๐ ๏ธ, ๐
โโ ๐ค ๐ฅ ๐ค โ โ๏ธ ๐ซ.
-
-{* ../../docs_src/dependencies/tutorial007.py hl[3,5] *}
-
-## ๐ง-๐ โฎ๏ธ `yield`
-
-๐ ๐ช โ๏ธ ๐ง-๐ & "๐ฒ" ๐ง-๐ ๐ ๐ & ๐ , & ๐ โ๏ธ ๐ ๐ซ ๐ช โ๏ธ `yield`.
-
-**FastAPI** ๐ โ ๐ญ ๐ "๐ช ๐" ๐ ๐ โฎ๏ธ `yield` ๐ โ โ.
-
-๐ผ, `dependency_c` ๐ช โ๏ธ ๐ ๐ `dependency_b`, & `dependency_b` ๐ `dependency_a`:
-
-{* ../../docs_src/dependencies/tutorial008.py hl[4,12,20] *}
-
-& ๐ ๐ซ ๐ช โ๏ธ `yield`.
-
-๐ ๐ผ `dependency_c`, ๐ ๏ธ ๐ฎ ๐ช ๐, ๐ช ๐ฒ โช๏ธโก๏ธ `dependency_b` (๐ฅ ๐ `dep_b`) ๐ช.
-
-& , ๐, `dependency_b` ๐ช ๐ฒ โช๏ธโก๏ธ `dependency_a` (๐ฅ ๐ `dep_a`) ๐ช ๐ฎ ๐ช ๐.
-
-{* ../../docs_src/dependencies/tutorial008.py hl[16:17,24:25] *}
-
-๐ ๐, ๐ ๐ช โ๏ธ ๐ โฎ๏ธ `yield` & `return` ๐.
-
-& ๐ ๐ช โ๏ธ ๐ ๐ ๐ ๐ ๐ ๐ ๐ โฎ๏ธ `yield`, โ๏ธ.
-
-๐ ๐ช โ๏ธ ๐ ๐ ๐ ๐ ๐ ๐.
-
-**FastAPI** ๐ โ ๐ญ ๐ ๐ โ โ.
-
-/// note | ๐ก โน
-
-๐ ๐ท ๐ ๐ ๐ ๐จโ๐ผ.
-
-**FastAPI** โ๏ธ ๐ซ ๐ ๐ ๐.
-
-///
-
-## ๐ โฎ๏ธ `yield` & `HTTPException`
-
-๐ ๐ ๐ ๐ ๐ช โ๏ธ ๐ โฎ๏ธ `yield` & โ๏ธ `try` ๐ซ ๐ โ โ .
-
-โซ๏ธ 5๏ธโฃ๐ ๐ ๐ค `HTTPException` โ๏ธ ๐ ๐ช ๐, โฎ๏ธ `yield`. โ๏ธ **โซ๏ธ ๐ ๐ซ ๐ท**.
-
-๐ช ๐ ๐ โฎ๏ธ `yield` ๐ ๏ธ *โฎ๏ธ* ๐จ ๐จ, [โ ๐โ๐ฆบ](../handling-errors.md#_4){.internal-link target=_blank} ๐ โ๏ธ โช ๐. ๐ค ๐ณ ๐ฝ โ ๐ฎ ๐ ๐ ๐ช ๐ (โฎ๏ธ `yield`).
-
-, ๐ฅ ๐ ๐ค `HTTPException` โฎ๏ธ `yield`, ๐ข (โ๏ธ ๐ ๐) โ ๐โ๐ฆบ ๐ โ `HTTPException`โ & ๐จ ๐บ๐ธ๐ 4๏ธโฃ0๏ธโฃ0๏ธโฃ ๐จ ๐ ๐ซ ๐ค โ ๐ โ ๐ซ๐.
-
-๐ โซ๏ธโ โ ๐ณ โ ๐ (โ
๐ฝ ๐), ๐ผ, โ๏ธ ๐ฅ ๐.
-
-๐ฅ ๐ ๐ *โฎ๏ธ* ๐จ โ๏ธ ๐จ. ๐ค ๐
โโ ๐ ๐ค `HTTPException` โฉ๏ธ ๐ค ๐ซ ๐ ๐ ๐จ ๐ *โช ๐จ*.
-
-โ๏ธ ๐ฅ ๐ฅ ๐ โ ๐ฝ โ, ๐ ๐ ๐ช ๐พ โ๏ธ ๐ฌ ๐ ๐ ๐ โฎ๏ธ `yield`, & ๐ฒ ๐น โ โ๏ธ ๐ โซ๏ธ ๐ฐ ๐ต โ๏ธ.
-
-๐ฅ ๐ โ๏ธ ๐ ๐ ๐ ๐ญ ๐ช ๐ค โ , ๐ ๐/"๐" ๐ & ๐ฎ `try` ๐ซ ๐ ๐ ๐.
-
-๐ฅ ๐ โ๏ธ ๐ โ ๐ ๐ ๐ ๐ ๐ต *โญ* ๐ฌ ๐จ & ๐ฒ โ ๐จ, ๐ฒ ๐โโ `HTTPException`, โ [๐ โ ๐โ๐ฆบ](../handling-errors.md#_4){.internal-link target=_blank}.
-
-/// tip
-
-๐ ๐ช ๐ค โ ๐ `HTTPException` *โญ* `yield`. โ๏ธ ๐ซ โฎ๏ธ.
-
-///
-
-๐ ๐ ๏ธ ๐
โ๏ธ ๐ ๐ ๐ ๐. ๐ฐ ๐ง โช๏ธโก๏ธ ๐ ๐. & ๐ ๐ 1๏ธโฃ ๐ ๐ โ๏ธ ๐ ๏ธ ๐.
-
-```mermaid
-sequenceDiagram
-
-participant client as Client
-participant handler as Exception handler
-participant dep as Dep with yield
-participant operation as Path Operation
-participant tasks as Background tasks
-
- Note over client,tasks: Can raise exception for dependency, handled after response is sent
- Note over client,operation: Can raise HTTPException and can change the response
- client ->> dep: Start request
- Note over dep: Run code up to yield
- opt raise
- dep -->> handler: Raise HTTPException
- handler -->> client: HTTP error response
- dep -->> dep: Raise other exception
- end
- dep ->> operation: Run dependency, e.g. DB session
- opt raise
- operation -->> dep: Raise HTTPException
- dep -->> handler: Auto forward exception
- handler -->> client: HTTP error response
- operation -->> dep: Raise other exception
- dep -->> handler: Auto forward exception
- end
- operation ->> client: Return response to client
- Note over client,operation: Response is already sent, can't change it anymore
- opt Tasks
- operation -->> tasks: Send background tasks
- end
- opt Raise other exception
- tasks -->> dep: Raise other exception
- end
- Note over dep: After yield
- opt Handle other exception
- dep -->> dep: Handle exception, can't change response. E.g. close DB session.
- end
-```
-
-/// info
-
-๐ด **1๏ธโฃ ๐จ** ๐ ๐จ ๐ฉโ๐ป. โซ๏ธ ๐ช 1๏ธโฃ โ ๐จ โ๏ธ โซ๏ธ ๐ ๐จ โช๏ธโก๏ธ *โก ๐ ๏ธ*.
-
-โฎ๏ธ 1๏ธโฃ ๐ ๐จ ๐จ, ๐
โโ ๐ ๐จ ๐ช ๐จ.
-
-///
-
-/// tip
-
-๐ ๐ ๐ฆ `HTTPException`, โ๏ธ ๐ ๐ช ๐ค ๐ ๐ โ โ ๐ โ [๐ โ ๐โ๐ฆบ](../handling-errors.md#_4){.internal-link target=_blank}.
-
-๐ฅ ๐ ๐ค ๐ โ , โซ๏ธ ๐ ๐ถโโ๏ธ ๐ โฎ๏ธ ๐พ, ๐ `HTTPException`, & โคด๏ธ **๐** โ ๐โ๐ฆบ. ๐ฅ ๐ค ๐
โโ โ ๐โ๐ฆบ ๐ โ , โซ๏ธ ๐ โคด๏ธ ๐ต ๐ข ๐ `ServerErrorMiddleware`, ๐ฌ 5๏ธโฃ0๏ธโฃ0๏ธโฃ ๐บ๐ธ๐ ๐ ๐, โก๏ธ ๐ฉโ๐ป ๐ญ ๐ ๐ค โ ๐ฝ.
-
-///
-
-## ๐ ๐จโ๐ผ
-
-### โซ๏ธโ "๐ ๐จโ๐ผ"
-
-"๐ ๐จโ๐ผ" ๐ ๐ ๐ ๐ ๐ ๐ ๐ช โ๏ธ `with` ๐.
-
-๐ผ, ๐ ๐ช โ๏ธ `with` โ ๐:
-
-```Python
-with open("./somefile.txt") as f:
- contents = f.read()
- print(contents)
-```
-
-๐, `open("./somefile.txt")` โ ๐ ๐ ๐ค "๐ ๐จโ๐ผ".
-
-๐โ `with` ๐ซ ๐, โซ๏ธ โ ๐ญ ๐ ๐, ๐ฅ ๐ค โ .
-
-๐โ ๐ โ ๐ โฎ๏ธ `yield`, **FastAPI** ๐ ๐ ๐ โซ๏ธ ๐ ๐จโ๐ผ, & ๐ โซ๏ธ โฎ๏ธ ๐ ๐ ๐งฐ.
-
-### โ๏ธ ๐ ๐จโ๐ผ ๐ โฎ๏ธ `yield`
-
-/// warning
-
-๐, ๐
โ๏ธ ๐, "๐ง" ๐ญ.
-
-๐ฅ ๐ โถ๏ธ โฎ๏ธ **FastAPI** ๐ ๐ช ๐ ๐ถ โซ๏ธ ๐.
-
-///
-
-๐, ๐ ๐ช โ ๐ ๐จโ๐ผ ๐ ๐ โฎ๏ธ 2๏ธโฃ ๐ฉโ๐ฌ: `__enter__()` & `__exit__()`.
-
-๐ ๐ช โ๏ธ ๐ซ ๐ **FastAPI** ๐ โฎ๏ธ `yield` โ๏ธ
-`with` โ๏ธ `async with` ๐ ๐ ๐ ๐ข:
-
-{* ../../docs_src/dependencies/tutorial010.py hl[1:9,13] *}
-
-/// tip
-
-โ1๏ธโฃ ๐ โ ๐ ๐จโ๐ผ โฎ๏ธ:
-
-* `@contextlib.contextmanager` โ๏ธ
-* `@contextlib.asynccontextmanager`
-
-โ๏ธ ๐ซ ๐ ๐ข โฎ๏ธ ๐ `yield`.
-
-๐ โซ๏ธโ **FastAPI** โ๏ธ ๐ ๐ โฎ๏ธ `yield`.
-
-โ๏ธ ๐ ๐ซ โ๏ธ โ๏ธ ๐จโ๐จ FastAPI ๐ (& ๐ ๐ซ๐ ๐ซ).
-
-FastAPI ๐ โซ๏ธ ๐ ๐.
-
-///
diff --git a/docs/em/docs/tutorial/dependencies/global-dependencies.md b/docs/em/docs/tutorial/dependencies/global-dependencies.md
deleted file mode 100644
index 5a22e5f1c..000000000
--- a/docs/em/docs/tutorial/dependencies/global-dependencies.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# ๐ ๐
-
-๐ ๐ธ ๐ ๐ช ๐ ๐ฎ ๐ ๐ ๐ธ.
-
-๐ ๐ ๐ ๐ช [๐ฎ `dependencies` *โก ๐ ๏ธ ๐จโ๐จ*](dependencies-in-path-operation-decorators.md){.internal-link target=_blank}, ๐ ๐ช ๐ฎ ๐ซ `FastAPI` ๐ธ.
-
-๐ ๐ผ, ๐ซ ๐ โ ๐ *โก ๐ ๏ธ* ๐ธ:
-
-{* ../../docs_src/dependencies/tutorial012.py hl[15] *}
-
-& ๐ ๐ญ ๐ ๐ [โ `dependencies` *โก ๐ ๏ธ ๐จโ๐จ*](dependencies-in-path-operation-decorators.md){.internal-link target=_blank} โ, โ๏ธ ๐ ๐ผ, ๐ *โก ๐ ๏ธ* ๐ฑ.
-
-## ๐ ๐ช *โก ๐ ๏ธ*
-
-โช, ๐โ ๐ ๐ โ ๐ ๐ฆ ๐ธ ([๐ฆ ๐ธ - ๐ ๐](../../tutorial/bigger-applications.md){.internal-link target=_blank}), ๐ฒ โฎ๏ธ ๐ ๐, ๐ ๐ ๐ก โ ๐ฃ ๐ `dependencies` ๐ข ๐ช *โก ๐ ๏ธ*.
diff --git a/docs/em/docs/tutorial/dependencies/index.md b/docs/em/docs/tutorial/dependencies/index.md
deleted file mode 100644
index ce87d9ee4..000000000
--- a/docs/em/docs/tutorial/dependencies/index.md
+++ /dev/null
@@ -1,212 +0,0 @@
-# ๐
-
-**FastAPI** โ๏ธ ๐ถ ๐๏ธ โ๏ธ ๐๏ธ **๐ ๐** โ๏ธ.
-
-โซ๏ธ ๐ ๐ถ ๐
โ๏ธ, & โ โซ๏ธ ๐ถ โฉ ๐ ๐ฉโ๐ป ๐ ๏ธ ๐ ๐ฆฒ โฎ๏ธ **FastAPI**.
-
-## โซ๏ธโ "๐ ๐"
-
-**"๐ ๐"** โ, ๐, ๐ ๐ค ๐ ๐ ๐ (๐ ๐ผ, ๐ *โก ๐ ๏ธ ๐ข*) ๐ฃ ๐ ๐ โซ๏ธ ๐ ๐ท & โ๏ธ: "๐".
-
-& โคด๏ธ, ๐ โ๏ธ (๐ ๐ผ **FastAPI**) ๐ โ ๐
๐จ โซ๏ธโ ๐ช ๐ ๐ ๐ โฎ๏ธ ๐ ๐ช ๐ ("๐" ๐).
-
-๐ ๐ถ โ ๐โ ๐ ๐ช:
-
-* โ๏ธ ๐ฐ โ (๐ ๐ โ ๐ & ๐).
-* ๐ฐ ๐ฝ ๐.
-* ๐ ๏ธ ๐โโ, ๐ค, ๐ ๐, โ๏ธ.
-* & ๐ ๐ ๐...
-
-๐ ๐ซ, โช ๐ ๐ ๐.
-
-## ๐ฅ ๐
-
-โก๏ธ ๐ ๐ถ ๐
๐ผ. โซ๏ธ ๐ ๐
๐ โซ๏ธ ๐ซ ๐ถ โ , ๐.
-
-โ๏ธ ๐ ๐ ๐ฅ ๐ช ๐ฏ ๐ โ **๐ ๐** โ๏ธ ๐ท.
-
-### โ ๐, โ๏ธ "โ"
-
-โก๏ธ ๐ฅ ๐ฏ ๐ ๐.
-
-โซ๏ธ ๐ข ๐ ๐ช โ ๐ ๐ ๐ข ๐ *โก ๐ ๏ธ ๐ข* ๐ช โ:
-
-{* ../../docs_src/dependencies/tutorial001.py hl[8:11] *}
-
-๐ โซ๏ธ.
-
-**2๏ธโฃ โธ**.
-
-& โซ๏ธ โ๏ธ ๐ ๐ & ๐ ๐ ๐ ๐ *โก ๐ ๏ธ ๐ข* โ๏ธ.
-
-๐ ๐ช ๐ญ โซ๏ธ *โก ๐ ๏ธ ๐ข* ๐ต "๐จโ๐จ" (๐ต `@app.get("/some-path")`).
-
-& โซ๏ธ ๐ช ๐จ ๐ณ ๐ ๐.
-
-๐ ๐ผ, ๐ ๐ โ:
-
-* ๐ฆ ๐ข ๐ข `q` ๐ `str`.
-* ๐ฆ ๐ข ๐ข `skip` ๐ `int`, & ๐ข `0`.
-* ๐ฆ ๐ข ๐ข `limit` ๐ `int`, & ๐ข `100`.
-
-& โคด๏ธ โซ๏ธ ๐จ `dict` โ ๐ ๐ฒ.
-
-### ๐ `Depends`
-
-{* ../../docs_src/dependencies/tutorial001.py hl[3] *}
-
-### ๐ฃ ๐, "โ๏ธ"
-
-๐ ๐ ๐ โ๏ธ `Body`, `Query`, โ๏ธ. โฎ๏ธ ๐ *โก ๐ ๏ธ ๐ข* ๐ข, โ๏ธ `Depends` โฎ๏ธ ๐ ๐ข:
-
-{* ../../docs_src/dependencies/tutorial001.py hl[15,20] *}
-
-๐ ๐ โ๏ธ `Depends` ๐ข ๐ ๐ข ๐ ๐ ๐ โ๏ธ `Body`, `Query`, โ๏ธ, `Depends` ๐ท ๐ ๐.
-
-๐ ๐ด ๐ค `Depends` ๐ ๐ข.
-
-๐ ๐ข ๐ ๐ณ ๐ ๐ข.
-
-& ๐ ๐ข โ ๐ข ๐ ๐ ๐ *โก ๐ ๏ธ ๐ข* .
-
-/// tip
-
-๐ ๐ ๐ โซ๏ธโ ๐ "๐", โ๏ธ โช๏ธโก๏ธ ๐ข, ๐ช โ๏ธ ๐ โญ ๐.
-
-///
-
-๐โ ๐ ๐จ ๐ฌ, **FastAPI** ๐ โ ๐
:
-
-* ๐ค ๐ ๐ ("โ") ๐ข โฎ๏ธ โ ๐ข.
-* ๐ค ๐ โช๏ธโก๏ธ ๐ ๐ข.
-* ๐ ๏ธ ๐ ๐ ๐ข ๐ *โก ๐ ๏ธ ๐ข*.
-
-```mermaid
-graph TB
-
-common_parameters(["common_parameters"])
-read_items["/items/"]
-read_users["/users/"]
-
-common_parameters --> read_items
-common_parameters --> read_users
-```
-
-๐ ๐ ๐ โ ๐ ๐ ๐ & **FastAPI** โ ๐
๐ค โซ๏ธ ๐ *โก ๐ ๏ธ*.
-
-/// check
-
-๐ ๐ ๐ ๐ซ โ๏ธ โ ๐ ๐ & ๐ถโโ๏ธ โซ๏ธ ๐ฑ **FastAPI** "ยฎ" โซ๏ธ โ๏ธ ๐ณ ๐.
-
-๐ ๐ถโโ๏ธ โซ๏ธ `Depends` & **FastAPI** ๐ญ โ ๐.
-
-///
-
-## `async` โ๏ธ ๐ซ `async`
-
-๐ ๐ ๐ค **FastAPI** (๐ ๐ *โก ๐ ๏ธ ๐ข*), ๐ ๐ซ โ โช ๐ฌ ๐ ๐ข.
-
-๐ ๐ช โ๏ธ `async def` โ๏ธ ๐ `def`.
-
-& ๐ ๐ช ๐ฃ ๐ โฎ๏ธ `async def` ๐ ๐ `def` *โก ๐ ๏ธ ๐ข*, โ๏ธ `def` ๐ ๐ `async def` *โก ๐ ๏ธ ๐ข*, โ๏ธ.
-
-โซ๏ธ ๐ซ ๐ค. **FastAPI** ๐ ๐ญ โซ๏ธโ.
-
-/// note
-
-๐ฅ ๐ ๐ซ ๐ญ, โ
[๐: *"๐ โ" *](../../async.md){.internal-link target=_blank} ๐ ๐ `async` & `await` ๐ฉบ.
-
-///
-
-## ๐ ๏ธ โฎ๏ธ ๐
-
-๐ ๐จ ๐, ๐ฌ & ๐ ๐ ๐ (& ๐ง-๐) ๐ ๐ ๏ธ ๐ ๐ ๐.
-
-, ๐ ๐ฉบ ๐ โ๏ธ ๐ โน โช๏ธโก๏ธ ๐ซ ๐ ๐โโ๏ธ:
-
-
-
-## ๐
โ๏ธ
-
-๐ฅ ๐ ๐ โซ๏ธ, *โก ๐ ๏ธ ๐ข* ๐ฃ โ๏ธ ๐โ *โก* & *๐ ๏ธ* ๐, & โคด๏ธ **FastAPI** โ ๐
๐ค ๐ข โฎ๏ธ โ ๐ข, โ ๐ โช๏ธโก๏ธ ๐จ.
-
-๐ค, ๐ (โ๏ธ ๐) ๐ธ ๐ ๏ธ ๐ท ๐ ๐ ๐.
-
-๐ ๐
๐ค ๐ ๐ข ๐. ๐ซ ๐ค ๐ ๐ ๏ธ (๐ ๐ผ, **FastAPI**).
-
-โฎ๏ธ ๐ ๐ โ๏ธ, ๐ ๐ช ๐ฌ **FastAPI** ๐ ๐ *โก ๐ ๏ธ ๐ข* "๐ช" ๐ ๐ณ ๐ ๐ ๐ ๐ ๏ธ โญ ๐ *โก ๐ ๏ธ ๐ข*, & **FastAPI** ๐ โ ๐
๐ ๏ธ โซ๏ธ & "๐" ๐.
-
-๐ โ โ ๐ ๐ ๐ญ "๐ ๐":
-
-* โน
-* ๐โ๐ฆบ
-* ๐โ๐ฆบ
-* ๐
-* ๐ฆฒ
-
-## **FastAPI** ๐-๐
-
-๐ ๏ธ & "๐-"โ ๐ช ๐ โ๏ธ **๐ ๐** โ๏ธ. โ๏ธ ๐, ๐ค ๐ค **๐
โโ ๐ช โ "๐-๐"**, โ๏ธ ๐ โซ๏ธ ๐ช ๐ฃ โพ ๐ข ๐ ๏ธ & ๐ ๐ โถ๏ธ๏ธ ๐ช ๐ *โก ๐ ๏ธ ๐ข*.
-
-& ๐ ๐ช โ ๐ถ ๐
& ๐๏ธ ๐ ๐ โ ๐ ๐ ๐ ๐ฆ ๐ ๐ช, & ๐ ๏ธ ๐ซ โฎ๏ธ ๐ ๐ ๏ธ ๐ข ๐ฉโโคโ๐จ โธ ๐, *๐*.
-
-๐ ๐ ๐ ๐ผ ๐ โญ ๐, ๐ ๐ & โ ๐ฝ, ๐โโ, โ๏ธ.
-
-## **FastAPI** ๐
-
-๐ฆ ๐ ๐ โ๏ธ โ **FastAPI** ๐ โฎ๏ธ:
-
-* ๐ ๐ ๐ฝ
-* โ ๐ฝ
-* ๐ข ๐ฆ
-* ๐ข ๐
-* ๐ค & โ โ๏ธ
-* ๐ ๏ธ โ๏ธ โ โ๏ธ
-* ๐จ ๐ฝ ๐ โ๏ธ
-* โ๏ธ.
-
-## ๐
& ๐๏ธ
-
-๐ ๐ ๐ ๐ โ๏ธ ๐ถ ๐
๐ฌ & โ๏ธ, โซ๏ธ ๐ถ ๐๏ธ.
-
-๐ ๐ช ๐ฌ ๐ ๐ ๐ ๐ช ๐ฌ ๐ ๐ซ.
-
-๐, ๐ ๐ฒ ๐ ๐, & **๐ ๐** โ๏ธ โ ๐
๐ฌ ๐ ๐ ๐ ๐ (& ๐ซ ๐ง-๐) & ๐ (๐) ๐ ๐ ๐.
-
-๐ผ, โก๏ธ ๐ฌ ๐ โ๏ธ 4๏ธโฃ ๐ ๏ธ ๐ (*โก ๐ ๏ธ*):
-
-* `/items/public/`
-* `/items/private/`
-* `/users/{user_id}/activate`
-* `/items/pro/`
-
-โคด๏ธ ๐ ๐ช ๐ฎ ๐ โ ๐ ๐ ๐ซ โฎ๏ธ ๐ & ๐ง-๐:
-
-```mermaid
-graph TB
-
-current_user(["current_user"])
-active_user(["active_user"])
-admin_user(["admin_user"])
-paying_user(["paying_user"])
-
-public["/items/public/"]
-private["/items/private/"]
-activate_user["/users/{user_id}/activate"]
-pro_items["/items/pro/"]
-
-current_user --> active_user
-active_user --> admin_user
-active_user --> paying_user
-
-current_user --> public
-active_user --> private
-admin_user --> activate_user
-paying_user --> pro_items
-```
-
-## ๐ ๏ธ โฎ๏ธ **๐**
-
-๐ ๐ซ ๐, โช ๐ฃ ๐ซ ๐, ๐ฎ ๐ข, ๐ฌ, โ๏ธ. ๐ *โก ๐ ๏ธ*.
-
-**FastAPI** ๐ โ ๐
๐ฎ โซ๏ธ ๐ ๐ ๐, ๐ โซ๏ธ ๐ฆ ๐ ๐งพ โ๏ธ.
diff --git a/docs/em/docs/tutorial/dependencies/sub-dependencies.md b/docs/em/docs/tutorial/dependencies/sub-dependencies.md
deleted file mode 100644
index 6d622e952..000000000
--- a/docs/em/docs/tutorial/dependencies/sub-dependencies.md
+++ /dev/null
@@ -1,86 +0,0 @@
-# ๐ง-๐
-
-๐ ๐ช โ ๐ ๐ โ๏ธ **๐ง-๐**.
-
-๐ซ ๐ช **โฌ** ๐ ๐ช ๐ซ.
-
-**FastAPI** ๐ โ ๐
๐ฌ ๐ซ.
-
-## ๐ฅ ๐ "โ"
-
-๐ ๐ช โ ๐ฅ ๐ ("โ") ๐:
-
-{* ../../docs_src/dependencies/tutorial005.py hl[8:9] *}
-
-โซ๏ธ ๐ฃ ๐ฆ ๐ข ๐ข `q` `str`, & โคด๏ธ โซ๏ธ ๐จ โซ๏ธ.
-
-๐ ๐
(๐ซ ๐ถ โ ), โ๏ธ ๐ โน ๐ฅ ๐ฏ ๐ โ ๐ง-๐ ๐ท.
-
-## ๐ฅ ๐, "โ" & "โ๏ธ"
-
-โคด๏ธ ๐ ๐ช โ โ1๏ธโฃ ๐ ๐ข ("โ") ๐ ๐ ๐ฐ ๐ฃ ๐ ๐ฎ ๐ (โซ๏ธ "โ๏ธ" ๐โโ๏ธ):
-
-{* ../../docs_src/dependencies/tutorial005.py hl[13] *}
-
-โก๏ธ ๐ฏ ๐ ๐ข ๐ฃ:
-
-* โ๏ธ ๐ ๐ข ๐ ("โ") โซ๏ธ, โซ๏ธ ๐ฃ โ1๏ธโฃ ๐ (โซ๏ธ "๐ช" ๐ ๐ณ ๐).
- * โซ๏ธ ๐ช ๐ `query_extractor`, & ๐ ๏ธ ๐ฒ ๐จ โซ๏ธ ๐ข `q`.
-* โซ๏ธ ๐ฃ ๐ฆ `last_query` ๐ช, `str`.
- * ๐ฅ ๐ฉโ๐ป ๐ซ ๐ ๐ ๐ข `q`, ๐ฅ โ๏ธ ๐ ๐ข โ๏ธ, โ ๐ฅ ๐ ๐ช โญ.
-
-## โ๏ธ ๐
-
-โคด๏ธ ๐ฅ ๐ช โ๏ธ ๐ โฎ๏ธ:
-
-{* ../../docs_src/dependencies/tutorial005.py hl[22] *}
-
-/// info
-
-๐ ๐ ๐ฅ ๐ด ๐ฃ 1๏ธโฃ ๐ *โก ๐ ๏ธ ๐ข*, `query_or_cookie_extractor`.
-
-โ๏ธ **FastAPI** ๐ ๐ญ ๐ โซ๏ธ โ๏ธ โ `query_extractor` ๐ฅ, ๐ถโโ๏ธ ๐ ๐ `query_or_cookie_extractor` โช ๐ค โซ๏ธ.
-
-///
-
-```mermaid
-graph TB
-
-query_extractor(["query_extractor"])
-query_or_cookie_extractor(["query_or_cookie_extractor"])
-
-read_query["/items/"]
-
-query_extractor --> query_or_cookie_extractor --> read_query
-```
-
-## โ๏ธ ๐ ๐ ๐ ๐ฐ
-
-๐ฅ 1๏ธโฃ ๐ ๐ ๐ฃ ๐ ๐ฐ ๐ *โก ๐ ๏ธ*, ๐ผ, ๐ ๐ โ๏ธ โ ๐ง-๐, **FastAPI** ๐ ๐ญ ๐ค ๐ ๐ง-๐ ๐ด ๐ ๐ ๐จ.
-
-& โซ๏ธ ๐ ๐ ๐จ ๐ฒ "๐พ" & ๐ถโโ๏ธ โซ๏ธ ๐ "โ๏ธ" ๐ ๐ช โซ๏ธ ๐ ๐ฏ ๐จ, โฉ๏ธ ๐ค ๐ ๐ ๐ฐ ๐ ๐จ.
-
-๐ง ๐ ๐โ ๐ ๐ญ ๐ ๐ช ๐ ๐ค ๐ ๐ (๐ฒ ๐ ๐ฐ) ๐ ๐จ โฉ๏ธ โ๏ธ "๐พ" ๐ฒ, ๐ ๐ช โ ๐ข `use_cache=False` ๐โ โ๏ธ `Depends`:
-
-```Python hl_lines="1"
-async def needy_dependency(fresh_value: str = Depends(get_value, use_cache=False)):
- return {"fresh_value": fresh_value}
-```
-
-## ๐
-
-โ๏ธ โช๏ธโก๏ธ ๐ ๐ ๐ค โ๏ธ ๐ฅ, **๐ ๐** โ๏ธ ๐
.
-
-๐ข ๐ ๐ ๐ *โก ๐ ๏ธ ๐ข*.
-
-โ๏ธ, โซ๏ธ ๐ถ ๐๏ธ, & โ ๐ ๐ฃ ๐ฒ ๐ ๐ฆ ๐ "๐" (๐ฒ).
-
-/// tip
-
-๐ ๐ ๐ช ๐ซ ๐ โ โฎ๏ธ ๐ซ ๐
๐ผ.
-
-โ๏ธ ๐ ๐ ๐ โ โ โซ๏ธ ๐ ๐ **๐โโ**.
-
- & ๐ ๐ ๐ ๐ธ ๐ โซ๏ธ ๐ ๐ ๐.
-
-///
diff --git a/docs/em/docs/tutorial/encoder.md b/docs/em/docs/tutorial/encoder.md
deleted file mode 100644
index ad05f701e..000000000
--- a/docs/em/docs/tutorial/encoder.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# ๐ป ๐ ๐ข
-
-๐ค ๐ผ ๐โ ๐ 5๏ธโฃ๐ ๐ช ๐ ๐ฝ ๐ (๐ Pydantic ๐ท) ๐ณ ๐ โฎ๏ธ ๐ป (๐ `dict`, `list`, โ๏ธ).
-
-๐ผ, ๐ฅ ๐ ๐ช ๐ช โซ๏ธ ๐ฝ.
-
-๐, **FastAPI** ๐ `jsonable_encoder()` ๐ข.
-
-## โ๏ธ `jsonable_encoder`
-
-โก๏ธ ๐ ๐ ๐ โ๏ธ ๐ฝ `fake_db` ๐ ๐ด ๐จ ๐ป ๐ ๐ฝ.
-
-๐ผ, โซ๏ธ ๐ซ ๐จ `datetime` ๐, ๐ ๐ซ ๐ โฎ๏ธ ๐ป.
-
-, `datetime` ๐ ๐ โ๏ธ ๐ `str` โ ๐ฝ ๐พ ๐.
-
-๐ ๐, ๐ ๐ฝ ๐ซ๐ ๐จ Pydantic ๐ท (๐ โฎ๏ธ ๐ข), ๐ด `dict`.
-
-๐ ๐ช โ๏ธ `jsonable_encoder` ๐.
-
-โซ๏ธ ๐จ ๐, ๐ Pydantic ๐ท, & ๐จ ๐ป ๐ โฌ:
-
-{* ../../docs_src/encoder/tutorial001.py hl[5,22] *}
-
-๐ ๐ผ, โซ๏ธ ๐ ๐ Pydantic ๐ท `dict`, & `datetime` `str`.
-
-๐ ๐ค โซ๏ธ ๐ณ ๐ ๐ช ๐ โฎ๏ธ ๐ ๐ฉ `json.dumps()`.
-
-โซ๏ธ ๐ซ ๐จ โญ `str` โ ๐ฝ ๐ป ๐ (๐ป). โซ๏ธ ๐จ ๐ ๐ฉ ๐ฝ ๐ (โ
`dict`) โฎ๏ธ ๐ฒ & ๐ง-๐ฒ ๐ ๐ ๐ โฎ๏ธ ๐ป.
-
-/// note
-
-`jsonable_encoder` ๐ค โ๏ธ **FastAPI** ๐ ๐ ๐ฝ. โ๏ธ โซ๏ธ โ ๐ ๐ ๐.
-
-///
diff --git a/docs/em/docs/tutorial/extra-data-types.md b/docs/em/docs/tutorial/extra-data-types.md
deleted file mode 100644
index f15a74b4a..000000000
--- a/docs/em/docs/tutorial/extra-data-types.md
+++ /dev/null
@@ -1,62 +0,0 @@
-# โ ๐ฝ ๐
-
-๐ ๐, ๐ โ๏ธ โ๏ธ โ ๐ ๐, ๐:
-
-* `int`
-* `float`
-* `str`
-* `bool`
-
-โ๏ธ ๐ ๐ช โ๏ธ ๐
๐ ๐ ๐.
-
-& ๐ ๐ โ๏ธ ๐ โ ๐ ๐ ๐:
-
-* ๐ ๐จโ๐จ ๐โ๐ฆบ.
-* ๐ฝ ๐ ๏ธ โช๏ธโก๏ธ ๐จ ๐จ.
-* ๐ฝ ๐ ๏ธ ๐จ ๐ฝ.
-* ๐ฝ ๐ฌ.
-* ๐ง โ & ๐งพ.
-
-## ๐ ๐ฝ ๐
-
-๐ฅ ๐ ๐ ๐ ๐ ๐ช โ๏ธ:
-
-* `UUID`:
- * ๐ฉ "โญ ๐ ๐", โ ๐ ๐ ๐ฝ & โ๏ธ.
- * ๐จ & ๐จ ๐ ๐จ `str`.
-* `datetime.datetime`:
- * ๐ `datetime.datetime`.
- * ๐จ & ๐จ ๐ ๐จ `str` ๐พ 8๏ธโฃ6๏ธโฃ0๏ธโฃ1๏ธโฃ ๐, ๐: `2008-09-15T15:53:00+05:00`.
-* `datetime.date`:
- * ๐ `datetime.date`.
- * ๐จ & ๐จ ๐ ๐จ `str` ๐พ 8๏ธโฃ6๏ธโฃ0๏ธโฃ1๏ธโฃ ๐, ๐: `2008-09-15`.
-* `datetime.time`:
- * ๐ `datetime.time`.
- * ๐จ & ๐จ ๐ ๐จ `str` ๐พ 8๏ธโฃ6๏ธโฃ0๏ธโฃ1๏ธโฃ ๐, ๐: `14:23:55.003`.
-* `datetime.timedelta`:
- * ๐ `datetime.timedelta`.
- * ๐จ & ๐จ ๐ ๐จ `float` ๐ ๐ฅ.
- * Pydantic โ ๐ฆ โซ๏ธ "๐พ 8๏ธโฃ6๏ธโฃ0๏ธโฃ1๏ธโฃ ๐ฐ โ ๐ข", ๐ ๐ฉบ ๐
โน.
-* `frozenset`:
- * ๐จ & ๐จ, ๐ฅ ๐ `set`:
- * ๐จ, ๐ ๐ โ, โ โ & ๐ญ โซ๏ธ `set`.
- * ๐จ, `set` ๐ ๐ `list`.
- * ๐ ๐ ๐ โ ๐ `set` ๐ฒ ๐ (โ๏ธ ๐ป ๐ `uniqueItems`).
-* `bytes`:
- * ๐ฉ ๐ `bytes`.
- * ๐จ & ๐จ ๐ ๐ฅ `str`.
- * ๐ ๐ ๐ โ ๐ โซ๏ธ `str` โฎ๏ธ `binary` "๐".
-* `Decimal`:
- * ๐ฉ ๐ `Decimal`.
- * ๐จ & ๐จ, ๐ต ๐ `float`.
-* ๐ ๐ช โ
๐ โ Pydantic ๐ ๐ ๐ฅ: Pydantic ๐ ๐.
-
-## ๐ผ
-
-๐ฅ ๐ผ *โก ๐ ๏ธ* โฎ๏ธ ๐ข โ๏ธ ๐ ๐.
-
-{* ../../docs_src/extra_data_types/tutorial001.py hl[1,3,12:16] *}
-
-๐ ๐ ๐ข ๐ ๐ข โ๏ธ ๐ซ ๐ ๐ฝ ๐, & ๐ ๐ช, ๐ผ, ๐ญ ๐ ๐
๐ญ, ๐:
-
-{* ../../docs_src/extra_data_types/tutorial001.py hl[18:19] *}
diff --git a/docs/em/docs/tutorial/extra-models.md b/docs/em/docs/tutorial/extra-models.md
deleted file mode 100644
index 19ab5b798..000000000
--- a/docs/em/docs/tutorial/extra-models.md
+++ /dev/null
@@ -1,211 +0,0 @@
-# โ ๐ท
-
-โถ๏ธ โฎ๏ธ โฎ๏ธ ๐ผ, โซ๏ธ ๐ โ โ๏ธ ๐
๐ 1๏ธโฃ ๐ ๐ท.
-
-๐ โด๏ธ ๐ผ ๐ฉโ๐ป ๐ท, โฉ๏ธ:
-
-* **๐ข ๐ท** ๐ช ๐ช โ๏ธ ๐.
-* **๐ข ๐ท** ๐ ๐ซ โ๏ธ ๐.
-* **๐ฝ ๐ท** ๐ ๐ฒ ๐ช โ๏ธ #๏ธโฃ ๐.
-
-/// danger
-
-๐
๐ช ๐ฉโ๐ป ๐ข ๐. ๐ง ๐ช "๐ #๏ธโฃ" ๐ ๐ ๐ช โคด๏ธ โ.
-
-๐ฅ ๐ ๐ซ ๐ญ, ๐ ๐ ๐ก โซ๏ธโ "๐#๏ธโฃ" [๐โโ ๐](security/simple-oauth2.md#_4){.internal-link target=_blank}.
-
-///
-
-## ๐ ๐ท
-
-๐ฅ ๐ข ๐ญ โ ๐ท ๐ช ๐ ๐ โฎ๏ธ ๐ซ ๐ ๐ & ๐ฅ ๐โ ๐ซ โ๏ธ:
-
-{* ../../docs_src/extra_models/tutorial001.py hl[9,11,16,22,24,29:30,33:35,40:41] *}
-
-### ๐ `**user_in.dict()`
-
-#### Pydantic `.dict()`
-
-`user_in` Pydantic ๐ท ๐ `UserIn`.
-
-Pydantic ๐ท โ๏ธ `.dict()` ๐ฉโ๐ฌ ๐ ๐จ `dict` โฎ๏ธ ๐ท ๐ฝ.
-
-, ๐ฅ ๐ฅ โ Pydantic ๐ `user_in` ๐:
-
-```Python
-user_in = UserIn(username="john", password="secret", email="john.doe@example.com")
-```
-
-& โคด๏ธ ๐ฅ ๐ค:
-
-```Python
-user_dict = user_in.dict()
-```
-
-๐ฅ ๐ โ๏ธ `dict` โฎ๏ธ ๐ฝ ๐ข `user_dict` (โซ๏ธ `dict` โฉ๏ธ Pydantic ๐ท ๐).
-
-& ๐ฅ ๐ฅ ๐ค:
-
-```Python
-print(user_dict)
-```
-
-๐ฅ ๐ ๐ค ๐ `dict` โฎ๏ธ:
-
-```Python
-{
- 'username': 'john',
- 'password': 'secret',
- 'email': 'john.doe@example.com',
- 'full_name': None,
-}
-```
-
-#### ๐ `dict`
-
-๐ฅ ๐ฅ โ `dict` ๐ `user_dict` & ๐ถโโ๏ธ โซ๏ธ ๐ข (โ๏ธ ๐) โฎ๏ธ `**user_dict`, ๐ ๐ "๐" โซ๏ธ. โซ๏ธ ๐ ๐ถโโ๏ธ ๐ & ๐ฒ `user_dict` ๐ ๐-๐ฒ โ.
-
-, โถ๏ธ โฎ๏ธ `user_dict` โช๏ธโก๏ธ ๐, โ:
-
-```Python
-UserInDB(**user_dict)
-```
-
-๐ ๐ ๐ณ ๐:
-
-```Python
-UserInDB(
- username="john",
- password="secret",
- email="john.doe@example.com",
- full_name=None,
-)
-```
-
-โ๏ธ ๐
โซ๏ธโ, โ๏ธ `user_dict` ๐, โฎ๏ธ โซ๏ธโ ๐ โซ๏ธ ๐ช โ๏ธ ๐ฎ:
-
-```Python
-UserInDB(
- username = user_dict["username"],
- password = user_dict["password"],
- email = user_dict["email"],
- full_name = user_dict["full_name"],
-)
-```
-
-#### Pydantic ๐ท โช๏ธโก๏ธ ๐ โ1๏ธโฃ
-
-๐ผ ๐ ๐ฅ ๐ค `user_dict` โช๏ธโก๏ธ `user_in.dict()`, ๐ ๐:
-
-```Python
-user_dict = user_in.dict()
-UserInDB(**user_dict)
-```
-
-๐ ๐:
-
-```Python
-UserInDB(**user_in.dict())
-```
-
-...โฉ๏ธ `user_in.dict()` `dict`, & โคด๏ธ ๐ฅ โ ๐ "๐" โซ๏ธ ๐ถโโ๏ธ โซ๏ธ `UserInDB` ๐ โฎ๏ธ `**`.
-
-, ๐ฅ ๐ค Pydantic ๐ท โช๏ธโก๏ธ ๐ฝ โ1๏ธโฃ Pydantic ๐ท.
-
-#### ๐ `dict` & โ ๐จ๐ป
-
-& โคด๏ธ โ โ ๐จ๐ป โ `hashed_password=hashed_password`, ๐:
-
-```Python
-UserInDB(**user_in.dict(), hashed_password=hashed_password)
-```
-
-...๐ ๐ ๐โโ ๐:
-
-```Python
-UserInDB(
- username = user_dict["username"],
- password = user_dict["password"],
- email = user_dict["email"],
- full_name = user_dict["full_name"],
- hashed_password = hashed_password,
-)
-```
-
-/// warning
-
-๐ ๐ ๐ข ๐ค ๐ช ๐ง ๐ฝ, โ๏ธ ๐ซ โ๏ธ ๐ซ ๐ ๐ ๐ฐ ๐โโ.
-
-///
-
-## ๐ โ
-
-๐ ๐ โ 1๏ธโฃ ๐ ๐ญ **FastAPI**.
-
-๐ โ ๐ ๐ค ๐, ๐โโ โ, ๐ ๐ โ (๐โ ๐ โน 1๏ธโฃ ๐ฅ โ๏ธ ๐ซ ๐), โ๏ธ.
-
-& ๐ ๐ท ๐ ๐ค ๐ ๐ฝ & โ ๐ข ๐ & ๐.
-
-๐ฅ ๐ช ๐ป.
-
-๐ฅ ๐ช ๐ฃ `UserBase` ๐ท ๐ ๐ฆ ๐งข ๐ ๐ ๐ท. & โคด๏ธ ๐ฅ ๐ช โ ๐ฟ ๐ ๐ท ๐ ๐ ๐ฎ ๐ข (๐ ๐, ๐ฌ, โ๏ธ).
-
-๐ ๐ฝ ๐ ๏ธ, ๐ฌ, ๐งพ, โ๏ธ. ๐ ๐ท ๐.
-
-๐ ๐, ๐ฅ ๐ช ๐ฃ ๐บ ๐ ๐ท (โฎ๏ธ ๐ข `password`, โฎ๏ธ `hashed_password` & ๐ต ๐):
-
-{* ../../docs_src/extra_models/tutorial002.py hl[9,15:16,19:20,23:24] *}
-
-## `Union` โ๏ธ `anyOf`
-
-๐ ๐ช ๐ฃ ๐จ `Union` 2๏ธโฃ ๐, ๐ โ, ๐ ๐จ ๐ ๐ 2๏ธโฃ.
-
-โซ๏ธ ๐ ๐ฌ ๐ โฎ๏ธ `anyOf`.
-
-๐, โ๏ธ ๐ฉ ๐ ๐ ๐ `typing.Union`:
-
-/// note
-
-๐โ โ `Union`, ๐ ๐ ๐ฏ ๐ ๐ฅ, โฉ ๐ ๐ฏ ๐. ๐ผ ๐, ๐ ๐ฏ `PlaneItem` ๐ โญ `CarItem` `Union[PlaneItem, CarItem]`.
-
-///
-
-{* ../../docs_src/extra_models/tutorial003.py hl[1,14:15,18:20,33] *}
-
-### `Union` ๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ
-
-๐ ๐ผ ๐ฅ ๐ถโโ๏ธ `Union[PlaneItem, CarItem]` ๐ฒ โ `response_model`.
-
-โฉ๏ธ ๐ฅ ๐ถโโ๏ธ โซ๏ธ **๐ฒ โ** โฉ๏ธ ๐ฎ โซ๏ธ **๐ โ**, ๐ฅ โ๏ธ โ๏ธ `Union` ๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ.
-
-๐ฅ โซ๏ธ ๐ โ ๐ฅ ๐ช โ๏ธ โ๏ธ โธ โธ,:
-
-```Python
-some_variable: PlaneItem | CarItem
-```
-
-โ๏ธ ๐ฅ ๐ฅ ๐ฎ ๐ `response_model=PlaneItem | CarItem` ๐ฅ ๐ ๐ค โ, โฉ๏ธ ๐ ๐ ๐ ๐ญ **โ ๐ ๏ธ** ๐ `PlaneItem` & `CarItem` โฉ๏ธ ๐ฌ ๐ ๐ โ.
-
-## ๐ ๐ท
-
-๐ ๐, ๐ ๐ช ๐ฃ ๐จ ๐ ๐.
-
-๐, โ๏ธ ๐ฉ ๐ `typing.List` (โ๏ธ `list` ๐ 3๏ธโฃ.9๏ธโฃ & ๐):
-
-{* ../../docs_src/extra_models/tutorial004.py hl[1,20] *}
-
-## ๐จ โฎ๏ธ โ `dict`
-
-๐ ๐ช ๐ฃ ๐จ โ๏ธ โ
โ `dict`, ๐ฃ ๐ ๐ & ๐ฒ, ๐ต โ๏ธ Pydantic ๐ท.
-
-๐ โ ๐ฅ ๐ ๐ซ ๐ญ โ ๐/๐ข ๐ (๐ ๐ ๐ช Pydantic ๐ท) โช.
-
-๐ ๐ผ, ๐ ๐ช โ๏ธ `typing.Dict` (โ๏ธ `dict` ๐ 3๏ธโฃ.9๏ธโฃ & ๐):
-
-{* ../../docs_src/extra_models/tutorial005.py hl[1,8] *}
-
-## ๐
-
-โ๏ธ ๐ Pydantic ๐ท & ๐ โก ๐ ๐ผ.
-
-๐ ๐ซ ๐ช โ๏ธ ๐ ๐ฝ ๐ท ๐ ๐จโ๐ผ ๐ฅ ๐ ๐จโ๐ผ ๐ ๐ช โ๏ธ ๐ "๐ต๐ธ". ๐ผ โฎ๏ธ ๐ฉโ๐ป "๐จโ๐ผ" โฎ๏ธ ๐ต๐ธ โ
`password`, `password_hash` & ๐
โโ ๐.
diff --git a/docs/em/docs/tutorial/first-steps.md b/docs/em/docs/tutorial/first-steps.md
deleted file mode 100644
index f9bb3fb75..000000000
--- a/docs/em/docs/tutorial/first-steps.md
+++ /dev/null
@@ -1,335 +0,0 @@
-# ๐ฅ ๐
-
-๐
FastAPI ๐ ๐ช ๐ ๐ ๐:
-
-{* ../../docs_src/first_steps/tutorial001.py *}
-
-๐ ๐ ๐ `main.py`.
-
-๐ ๐ ๐ฝ:
-
-get ๐ ๏ธ
-
-/// info | `@decorator` โน
-
-๐ `@something` โ ๐ ๐ค "๐จโ๐จ".
-
-๐ ๐ฎ โซ๏ธ ๐ ๐ ๐ข. ๐ ๐ถ ๐ ๐ (๐ค ๐ญ ๐ ๐โ โ ๐ โช๏ธโก๏ธ).
-
- "๐จโ๐จ" โ ๐ข ๐ & ๐จ ๐ณ โฎ๏ธ โซ๏ธ.
-
-๐ ๐ผ, ๐ ๐จโ๐จ ๐ฌ **FastAPI** ๐ ๐ข ๐ ๐ **โก** `/` โฎ๏ธ **๐ ๏ธ** `get`.
-
-โซ๏ธ "**โก ๐ ๏ธ ๐จโ๐จ**".
-
-///
-
-๐ ๐ช โ๏ธ ๐ ๐ ๏ธ:
-
-* `@app.post()`
-* `@app.put()`
-* `@app.delete()`
-
-& ๐
๐ ๐:
-
-* `@app.options()`
-* `@app.head()`
-* `@app.patch()`
-* `@app.trace()`
-
-/// tip
-
-๐ ๐ โ๏ธ ๐ ๐ ๏ธ (๐บ๐ธ๐ ๐ฉโ๐ฌ) ๐ ๐.
-
-**FastAPI** ๐ซ ๐ ๏ธ ๐ ๐ฏ ๐.
-
-โน ๐ฅ ๐ ๐, ๐ซ ๐.
-
-๐ผ, ๐โ โ๏ธ ๐น ๐ ๐ ๐ญ ๐ ๐ฏ โ๏ธ ๐ด `POST` ๐ ๏ธ.
-
-///
-
-### ๐ 4๏ธโฃ: ๐ฌ **โก ๐ ๏ธ ๐ข**
-
-๐ ๐ "**โก ๐ ๏ธ ๐ข**":
-
-* **โก**: `/`.
-* **๐ ๏ธ**: `get`.
-* **๐ข**: ๐ข ๐ "๐จโ๐จ" (๐ `@app.get("/")`).
-
-{* ../../docs_src/first_steps/tutorial001.py hl[7] *}
-
-๐ ๐ ๐ข.
-
-โซ๏ธ ๐ ๐ค **FastAPI** ๐โ โซ๏ธ ๐จ ๐จ ๐ "`/`" โ๏ธ `GET` ๐ ๏ธ.
-
-๐ ๐ผ, โซ๏ธ `async` ๐ข.
-
----
-
-๐ ๐ช ๐ฌ โซ๏ธ ๐ ๐ข โฉ๏ธ `async def`:
-
-{* ../../docs_src/first_steps/tutorial003.py hl[7] *}
-
-/// note
-
-๐ฅ ๐ ๐ซ ๐ญ ๐บ, โ
[๐: *"๐ โ"*](../async.md#_2){.internal-link target=_blank}.
-
-///
-
-### ๐ 5๏ธโฃ: ๐จ ๐
-
-{* ../../docs_src/first_steps/tutorial001.py hl[8] *}
-
-๐ ๐ช ๐จ `dict`, `list`, โญ ๐ฒ `str`, `int`, โ๏ธ.
-
-๐ ๐ช ๐จ Pydantic ๐ท (๐ ๐ ๐ ๐
๐ ๐ โช).
-
-๐ค ๐ ๐ ๐ & ๐ท ๐ ๐ ๐ ๐ ๐ป (๐ ๐, โ๏ธ). ๐ โ๏ธ ๐ ๐ ๐, โซ๏ธ ๐ ๐ฒ ๐ ๐ซ โช ๐โ๐ฆบ.
-
-## ๐
-
-* ๐ `FastAPI`.
-* โ `app` ๐.
-* โ **โก ๐ ๏ธ ๐จโ๐จ** (๐ `@app.get("/")`).
-* โ **โก ๐ ๏ธ ๐ข** (๐ `def root(): ...` ๐).
-* ๐ ๐ ๏ธ ๐ฝ (๐ `uvicorn main:app --reload`).
diff --git a/docs/em/docs/tutorial/handling-errors.md b/docs/em/docs/tutorial/handling-errors.md
deleted file mode 100644
index 6d7277597..000000000
--- a/docs/em/docs/tutorial/handling-errors.md
+++ /dev/null
@@ -1,257 +0,0 @@
-# ๐ โ
-
-๐ค ๐ โ ๐โ ๐ ๐ช ๐จ โ ๐ฉโ๐ป ๐ โ๏ธ ๐ ๐ ๏ธ.
-
-๐ ๐ฉโ๐ป ๐ช ๐ฅ โฎ๏ธ ๐ธ, ๐ โช๏ธโก๏ธ ๐ฑ ๐, โ ๐ณ, โ๏ธ.
-
-๐ ๐ช ๐ช ๐ฌ ๐ฉโ๐ป ๐:
-
-* ๐ฉโ๐ป ๐ซ โ๏ธ ๐ฅ ๐ ๐ ๐ ๏ธ.
-* ๐ฉโ๐ป ๐ซ โ๏ธ ๐ ๐ โน.
-* ๐ฌ ๐ฉโ๐ป ๐ ๐ ๐ซ ๐.
-* โ๏ธ.
-
-๐ซ ๐ผ, ๐ ๐ ๐ ๐จ **๐บ๐ธ๐ ๐ ๐** โ **4๏ธโฃ0๏ธโฃ0๏ธโฃ** (โช๏ธโก๏ธ 4๏ธโฃ0๏ธโฃ0๏ธโฃ 4๏ธโฃ9๏ธโฃ9๏ธโฃ).
-
-๐ ๐ 2๏ธโฃ0๏ธโฃ0๏ธโฃ ๐บ๐ธ๐ ๐ ๐ (โช๏ธโก๏ธ 2๏ธโฃ0๏ธโฃ0๏ธโฃ 2๏ธโฃ9๏ธโฃ9๏ธโฃ). ๐ "2๏ธโฃ0๏ธโฃ0๏ธโฃ" ๐ ๐ โ ๐ ๐ซ ๐ค "๐" ๐จ.
-
-๐ ๐ 4๏ธโฃ0๏ธโฃ0๏ธโฃ โ โ ๐ ๐ค โ โช๏ธโก๏ธ ๐ฉโ๐ป.
-
-๐ญ ๐ ๐ **"4๏ธโฃ0๏ธโฃ4๏ธโฃ ๐ซ ๐"** โ (& ๐คฃ) โ
-
-## โ๏ธ `HTTPException`
-
-๐จ ๐บ๐ธ๐ ๐จ โฎ๏ธ โ ๐ฉโ๐ป ๐ โ๏ธ `HTTPException`.
-
-### ๐ `HTTPException`
-
-{* ../../docs_src/handling_errors/tutorial001.py hl[1] *}
-
-### ๐ค `HTTPException` ๐ ๐
-
-`HTTPException` ๐ ๐ โ โฎ๏ธ ๐ ๐ ๐ ๐.
-
-โฉ๏ธ โซ๏ธ ๐ โ , ๐ ๐ซ `return` โซ๏ธ, ๐ `raise` โซ๏ธ.
-
-๐ โ ๐ ๐ฅ ๐ ๐ ๐ ๐ข ๐ ๐ ๐ค ๐ ๐ *โก ๐ ๏ธ ๐ข*, & ๐ ๐ค `HTTPException` โช๏ธโก๏ธ ๐ ๐ ๐ ๐ข, โซ๏ธ ๐ ๐ซ ๐ ๐ ๐ *โก ๐ ๏ธ ๐ข*, โซ๏ธ ๐ โ ๐ ๐จ โถ๏ธ๏ธ โ๏ธ & ๐จ ๐บ๐ธ๐ โ โช๏ธโก๏ธ `HTTPException` ๐ฉโ๐ป.
-
-๐ฐ ๐โโ โ ๐คญ `return`๐
๐ฒ ๐ ๐ โญ ๐ ๐ ๐ & ๐โโ.
-
-๐ ๐ผ, ๐โ ๐ฉโ๐ป ๐จ ๐ฌ ๐ ๐ ๐ซ ๐, ๐ค โ โฎ๏ธ ๐ ๐ `404`:
-
-{* ../../docs_src/handling_errors/tutorial001.py hl[11] *}
-
-### ๐ ๐จ
-
-๐ฅ ๐ฉโ๐ป ๐จ `http://example.com/items/foo` ( `item_id` `"foo"`), ๐ ๐ฉโ๐ป ๐ ๐จ ๐บ๐ธ๐ ๐ ๐ 2๏ธโฃ0๏ธโฃ0๏ธโฃ, & ๐ป ๐จ:
-
-```JSON
-{
- "item": "The Foo Wrestlers"
-}
-```
-
-โ๏ธ ๐ฅ ๐ฉโ๐ป ๐จ `http://example.com/items/bar` (๐ซ-๐ซ `item_id` `"bar"`), ๐ ๐ฉโ๐ป ๐ ๐จ ๐บ๐ธ๐ ๐ ๐ 4๏ธโฃ0๏ธโฃ4๏ธโฃ ("๐ซ ๐" โ), & ๐ป ๐จ:
-
-```JSON
-{
- "detail": "Item not found"
-}
-```
-
-/// tip
-
-๐โ ๐โโ `HTTPException`, ๐ ๐ช ๐ถโโ๏ธ ๐ ๐ฒ ๐ ๐ช ๐ ๐ป ๐ข `detail`, ๐ซ ๐ด `str`.
-
-๐ ๐ช ๐ถโโ๏ธ `dict`, `list`, โ๏ธ.
-
-๐ซ ๐ต ๐ **FastAPI** & ๐ ๐ป.
-
-///
-
-## ๐ฎ ๐ ๐
-
-๐ค โ ๐โ โซ๏ธ โ ๐ช ๐ฎ ๐ ๐ ๐บ๐ธ๐ โ. ๐ผ, ๐ ๐โโ.
-
-๐ ๐ฒ ๐ ๐ซ ๐ช โ๏ธ โซ๏ธ ๐ ๐ ๐.
-
-โ๏ธ ๐ผ ๐ ๐ช โซ๏ธ ๐ง ๐, ๐ ๐ช ๐ฎ ๐ ๐:
-
-{* ../../docs_src/handling_errors/tutorial002.py hl[14] *}
-
-## โ ๐ โ ๐โ๐ฆบ
-
-๐ ๐ช ๐ฎ ๐ โ ๐โ๐ฆบ โฎ๏ธ ๐ โ ๐ โช๏ธโก๏ธ ๐.
-
-โก๏ธ ๐ฌ ๐ โ๏ธ ๐ โ `UnicornException` ๐ ๐ (โ๏ธ ๐ ๐ โ๏ธ) ๐ช `raise`.
-
-& ๐ ๐ ๐ต ๐ โ ๐ โฎ๏ธ FastAPI.
-
-๐ ๐ช ๐ฎ ๐ โ ๐โ๐ฆบ โฎ๏ธ `@app.exception_handler()`:
-
-{* ../../docs_src/handling_errors/tutorial003.py hl[5:7,13:18,24] *}
-
-๐ฅ, ๐ฅ ๐ ๐จ `/unicorns/yolo`, *โก ๐ ๏ธ* ๐ `raise` `UnicornException`.
-
-โ๏ธ โซ๏ธ ๐ ๐ต `unicorn_exception_handler`.
-
-, ๐ ๐ ๐จ ๐งน โ, โฎ๏ธ ๐บ๐ธ๐ ๐ ๐ `418` & ๐ป ๐:
-
-```JSON
-{"message": "Oops! yolo did something. There goes a rainbow..."}
-```
-
-/// note | ๐ก โน
-
-๐ ๐ช โ๏ธ `from starlette.requests import Request` & `from starlette.responses import JSONResponse`.
-
-**FastAPI** ๐ ๐ `starlette.responses` `fastapi.responses` ๐ช ๐, ๐ฉโ๐ป. โ๏ธ ๐
๐ช ๐จ ๐ ๐ โช๏ธโก๏ธ ๐. ๐ โฎ๏ธ `Request`.
-
-///
-
-## ๐ ๐ข โ ๐โ๐ฆบ
-
-**FastAPI** โ๏ธ ๐ข โ ๐โ๐ฆบ.
-
-๐ซ ๐โ๐ฆบ ๐ ๐ฌ ๐ข ๐ป ๐จ ๐โ ๐ `raise` `HTTPException` & ๐โ ๐จ โ๏ธ โ ๐ฝ.
-
-๐ ๐ช ๐ ๐ซ โ ๐โ๐ฆบ โฎ๏ธ ๐ ๐.
-
-### ๐ ๐จ ๐ฌ โ
-
-๐โ ๐จ ๐ โ ๐, **FastAPI** ๐ ๐ค `RequestValidationError`.
-
-& โซ๏ธ ๐ ๐ข โ ๐โ๐ฆบ โซ๏ธ.
-
-๐ โซ๏ธ, ๐ `RequestValidationError` & โ๏ธ โซ๏ธ โฎ๏ธ `@app.exception_handler(RequestValidationError)` ๐ โ ๐โ๐ฆบ.
-
-โ ๐โ๐ฆบ ๐ ๐จ `Request` & โ .
-
-{* ../../docs_src/handling_errors/tutorial004.py hl[2,14:16] *}
-
-๐, ๐ฅ ๐ ๐ถ `/items/foo`, โฉ๏ธ ๐โโ ๐ข ๐ป โ โฎ๏ธ:
-
-```JSON
-{
- "detail": [
- {
- "loc": [
- "path",
- "item_id"
- ],
- "msg": "value is not a valid integer",
- "type": "type_error.integer"
- }
- ]
-}
-```
-
-๐ ๐ ๐ค โ โฌ, โฎ๏ธ:
-
-```
-1 validation error
-path -> item_id
- value is not a valid integer (type=type_error.integer)
-```
-
-#### `RequestValidationError` ๐ `ValidationError`
-
-/// warning
-
-๐ซ ๐ก โน ๐ ๐ ๐ช ๐ถ ๐ฅ โซ๏ธ ๐ซ โ ๐ ๐.
-
-///
-
-`RequestValidationError` ๐ง-๐ Pydantic `ValidationError`.
-
-**FastAPI** โ๏ธ โซ๏ธ ๐, ๐ฅ ๐ โ๏ธ Pydantic ๐ท `response_model`, & ๐ ๐ฝ โ๏ธ โ, ๐ ๐ ๐ โ ๐ ๐น.
-
-โ๏ธ ๐ฉโ๐ป/๐ฉโ๐ป ๐ ๐ซ ๐ โซ๏ธ. โฉ๏ธ, ๐ฉโ๐ป ๐ ๐จ "๐ ๐ฝ โ" โฎ๏ธ ๐บ๐ธ๐ ๐ ๐ `500`.
-
-โซ๏ธ ๐ ๐ ๐ โฉ๏ธ ๐ฅ ๐ โ๏ธ Pydantic `ValidationError` ๐ *๐จ* โ๏ธ ๐ ๐ ๐ (๐ซ ๐ฉโ๐ป *๐จ*), โซ๏ธ ๐ค ๐ ๐ ๐.
-
-& โช ๐ ๐ง โซ๏ธ, ๐ ๐ฉโ๐ป/๐ฉโ๐ป ๐ซ๐ ๐ซ โ๏ธ ๐ ๐ โน ๐ โ, ๐ ๐ช ๐ฆ ๐โโ โ .
-
-### ๐ `HTTPException` โ ๐โ๐ฆบ
-
-๐ ๐, ๐ ๐ช ๐ `HTTPException` ๐โ๐ฆบ.
-
-๐ผ, ๐ ๐ช ๐ ๐จ โ
โ ๐จ โฉ๏ธ ๐ป ๐ซ โ:
-
-{* ../../docs_src/handling_errors/tutorial004.py hl[3:4,9:11,22] *}
-
-/// note | ๐ก โน
-
-๐ ๐ช โ๏ธ `from starlette.responses import PlainTextResponse`.
-
-**FastAPI** ๐ ๐ `starlette.responses` `fastapi.responses` ๐ช ๐, ๐ฉโ๐ป. โ๏ธ ๐
๐ช ๐จ ๐ ๐ โช๏ธโก๏ธ ๐.
-
-///
-
-### โ๏ธ `RequestValidationError` ๐ช
-
-`RequestValidationError` ๐ `body` โซ๏ธ ๐จ โฎ๏ธ โ ๐ฝ.
-
-๐ ๐ช โ๏ธ โซ๏ธ โช ๐ ๏ธ ๐ ๐ฑ ๐น ๐ช & โน โซ๏ธ, ๐จ โซ๏ธ ๐ฉโ๐ป, โ๏ธ.
-
-{* ../../docs_src/handling_errors/tutorial005.py hl[14] *}
-
-๐ ๐ ๐จ โ ๐ฌ ๐:
-
-```JSON
-{
- "title": "towel",
- "size": "XL"
-}
-```
-
-๐ ๐ ๐จ ๐จ ๐ฌ ๐ ๐ ๐ฝ โ โ ๐จ ๐ช:
-
-```JSON hl_lines="12-15"
-{
- "detail": [
- {
- "loc": [
- "body",
- "size"
- ],
- "msg": "value is not a valid integer",
- "type": "type_error.integer"
- }
- ],
- "body": {
- "title": "towel",
- "size": "XL"
- }
-}
-```
-
-#### FastAPI `HTTPException` ๐ ๐ `HTTPException`
-
-**FastAPI** โ๏ธ ๐ฎ ๐ `HTTPException`.
-
-& **FastAPI**'โ `HTTPException` โ ๐ ๐ โช๏ธโก๏ธ ๐ `HTTPException` โ ๐.
-
-๐ด ๐บ, ๐ **FastAPI**'โ `HTTPException` โ ๐ ๐ฎ ๐ ๐ ๐จ.
-
-๐ ๐ช/โ๏ธ ๐ โณ 2๏ธโฃ.0๏ธโฃ & ๐โโ ๐.
-
-, ๐ ๐ช ๐ง ๐โโ **FastAPI**'โ `HTTPException` ๐ ๐ ๐.
-
-โ๏ธ ๐โ ๐ ยฎ โ ๐โ๐ฆบ, ๐ ๐ ยฎ โซ๏ธ ๐ `HTTPException`.
-
-๐ ๐, ๐ฅ ๐ ๐ ๐ ๐ ๐, โ๏ธ ๐ โ โ๏ธ ๐ -, ๐ค ๐ `HTTPException`, ๐ ๐โ๐ฆบ ๐ ๐ช โ & ๐ต โซ๏ธ.
-
-๐ ๐ผ, ๐ช โ๏ธ ๐ฏโโ๏ธ `HTTPException`โ ๐ ๐, ๐ โ ๐ `StarletteHTTPException`:
-
-```Python
-from starlette.exceptions import HTTPException as StarletteHTTPException
-```
-
-### ๐ค-โ๏ธ **FastAPI**'โ โ ๐โ๐ฆบ
-
-๐ฅ ๐ ๐ โ๏ธ โ โคด๏ธ โฎ๏ธ ๐ ๐ข โ ๐โ๐ฆบ โช๏ธโก๏ธ **FastAPI**, ๐ ๐ช ๐ & ๐ค-โ๏ธ ๐ข โ ๐โ๐ฆบ โช๏ธโก๏ธ `fastapi.exception_handlers`:
-
-{* ../../docs_src/handling_errors/tutorial006.py hl[2:5,15,21] *}
-
-๐ ๐ผ ๐ `print`๐
โ โฎ๏ธ ๐ถ ๐จ ๐ง, โ๏ธ ๐ ๐ค ๐ญ. ๐ ๐ช โ๏ธ โ & โคด๏ธ ๐ค-โ๏ธ ๐ข โ ๐โ๐ฆบ.
diff --git a/docs/em/docs/tutorial/header-params.md b/docs/em/docs/tutorial/header-params.md
deleted file mode 100644
index fa5e3a22b..000000000
--- a/docs/em/docs/tutorial/header-params.md
+++ /dev/null
@@ -1,91 +0,0 @@
-# ๐ ๐ข
-
-๐ ๐ช ๐ฌ ๐ ๐ข ๐ ๐ ๐ ๐ฌ `Query`, `Path` & `Cookie` ๐ข.
-
-## ๐ `Header`
-
-๐ฅ ๐ `Header`:
-
-{* ../../docs_src/header_params/tutorial001.py hl[3] *}
-
-## ๐ฃ `Header` ๐ข
-
-โคด๏ธ ๐ฃ ๐ ๐ข โ๏ธ ๐ ๐ โฎ๏ธ `Path`, `Query` & `Cookie`.
-
-๐ฅ ๐ฒ ๐ข ๐ฒ, ๐ ๐ช ๐ถโโ๏ธ ๐ โ ๐ฌ โ๏ธ โ ๐ข:
-
-{* ../../docs_src/header_params/tutorial001.py hl[9] *}
-
-/// note | ๐ก โน
-
-`Header` "๐ญ" ๐ `Path`, `Query` & `Cookie`. โซ๏ธ ๐ โช๏ธโก๏ธ ๐ โ `Param` ๐.
-
-โ๏ธ ๐ญ ๐ ๐โ ๐ ๐ `Query`, `Path`, `Header`, & ๐ โช๏ธโก๏ธ `fastapi`, ๐ ๐ค ๐ข ๐ ๐จ ๐ ๐.
-
-///
-
-/// info
-
-๐ฃ ๐, ๐ ๐ช โ๏ธ `Header`, โฉ๏ธ โช ๐ข ๐ ๐ฌ ๐ข ๐ข.
-
-///
-
-## ๐ง ๐ ๏ธ
-
-`Header` โ๏ธ ๐ฅ โ ๐ ๏ธ ๐ ๐ โซ๏ธโ `Path`, `Query` & `Cookie` ๐.
-
-๐
๐ฉ ๐ ๐ "๐ " ๐ฆน, ๐ญ "โ ๐ฃ" (`-`).
-
-โ๏ธ ๐ข ๐ `user-agent` โ ๐.
-
-, ๐ข, `Header` ๐ ๐ ๐ข ๐ ๐ฆน โช๏ธโก๏ธ ๐ฆ (`_`) ๐ (`-`) โ & ๐ ๐.
-
-, ๐บ๐ธ๐ ๐ ๐ผ-๐,, ๐ ๐ช ๐ฃ ๐ซ โฎ๏ธ ๐ฉ ๐ ๐ (๐ญ "๐ก").
-
-, ๐ ๐ช โ๏ธ `user_agent` ๐ ๐ ๐ ๐ ๐, โฉ๏ธ ๐โโ ๐ฏ ๐ฅ ๐ค `User_Agent` โ๏ธ ๐ณ ๐.
-
-๐ฅ ๐ค ๐ ๐ช โ ๐ง ๐ ๏ธ ๐ฆ ๐ , โ ๐ข `convert_underscores` `Header` `False`:
-
-{* ../../docs_src/header_params/tutorial002.py hl[10] *}
-
-/// warning
-
-โญ โ `convert_underscores` `False`, ๐ป ๐คฏ ๐ ๐บ๐ธ๐ ๐ณ & ๐ฝ / โ๏ธ ๐ โฎ๏ธ ๐ฆ.
-
-///
-
-## โ ๐
-
-โซ๏ธ ๐ช ๐จ โ ๐. ๐ โ, ๐ ๐ โฎ๏ธ ๐ ๐ฒ.
-
-๐ ๐ช ๐ฌ ๐ ๐ผ โ๏ธ ๐ ๐ ๐.
-
-๐ ๐ ๐จ ๐ ๐ฒ โช๏ธโก๏ธ โ ๐ ๐ `list`.
-
-๐ผ, ๐ฃ ๐ `X-Token` ๐ ๐ช ๐ ๐
๐ ๐, ๐ ๐ช โ:
-
-{* ../../docs_src/header_params/tutorial003.py hl[9] *}
-
-๐ฅ ๐ ๐ โฎ๏ธ ๐ *โก ๐ ๏ธ* ๐จ 2๏ธโฃ ๐บ๐ธ๐ ๐ ๐:
-
-```
-X-Token: foo
-X-Token: bar
-```
-
-๐จ ๐ ๐:
-
-```JSON
-{
- "X-Token values": [
- "bar",
- "foo"
- ]
-}
-```
-
-## ๐
-
-๐ฃ ๐ โฎ๏ธ `Header`, โ๏ธ ๐ โ โ `Query`, `Path` & `Cookie`.
-
-& ๐ซ ๐ ๐ ๐ฆ ๐ ๐ข, **FastAPI** ๐ โ ๐
๐ญ ๐ซ.
diff --git a/docs/em/docs/tutorial/index.md b/docs/em/docs/tutorial/index.md
deleted file mode 100644
index 5f7532341..000000000
--- a/docs/em/docs/tutorial/index.md
+++ /dev/null
@@ -1,83 +0,0 @@
-# ๐ฐ - ๐ฉโ๐ป ๐ฆฎ
-
-๐ ๐ฐ ๐ฆ ๐ โ โ๏ธ **FastAPI** โฎ๏ธ ๐
๐ฎ โ, ๐ ๐.
-
-๐ ๐ ๐ ๐ ๐ โฎ๏ธ ๐, โ๏ธ โซ๏ธ ๐ ๐ โ, ๐ ๐ ๐ช ๐ถ ๐ ๐ ๐ฏ 1๏ธโฃ โ ๐ ๐ฏ ๐ ๏ธ ๐ช.
-
-โซ๏ธ ๐ ๐ท ๐ฎ ๐.
-
-๐ ๐ช ๐ ๐ & ๐ โซ๏ธโ โซ๏ธโ ๐ ๐ช.
-
-## ๐ ๐
-
-๐ ๐ ๐ซ ๐ช ๐ & โ๏ธ ๐ (๐ซ ๐ค ๐ฏ ๐ ๐).
-
-๐ ๐ ๐ผ, ๐ ๐ ๐ `main.py`, & โถ๏ธ `uvicorn` โฎ๏ธ:
-
-contact ๐| ๐ข | ๐ | ๐ |
|---|---|---|
name | str | โ ๐ ๐ง ๐จโ๐ผ/๐ข. |
url | str | ๐ โ ๐ง โน. ๐ ๐ ๐. |
email | str | ๐ง ๐ข ๐ง ๐จโ๐ผ/๐ข. ๐ ๐ ๐ง ๐ข. |
license_info ๐| ๐ข | ๐ | ๐ |
|---|---|---|
name | str | ๐ (๐ฅ license_info โ). ๐ ๐ โ๏ธ ๐ ๏ธ. |
url | str | ๐ ๐ โ๏ธ ๐ ๏ธ. ๐ ๐ ๐. |
-
-## ๐ ๐
-
-๐ ๐ช ๐ฎ ๐ ๐ ๐ ๐ โ๏ธ ๐ช ๐ โก ๐ ๏ธ โฎ๏ธ ๐ข `openapi_tags`.
-
-โซ๏ธ โ ๐ โ 1๏ธโฃ ๐ ๐ ๐.
-
-๐ ๐ ๐ช ๐:
-
-* `name` (**โ**): `str` โฎ๏ธ ๐ ๐ ๐ โ๏ธ `tags` ๐ข ๐ *โก ๐ ๏ธ* & `APIRouter`โ.
-* `description`: `str` โฎ๏ธ ๐ ๐ ๐. โซ๏ธ ๐ช โ๏ธ โ & ๐ ๐ฆ ๐ฉบ ๐.
-* `externalDocs`: `dict` ๐ฌ ๐ข ๐งพ โฎ๏ธ:
- * `description`: `str` โฎ๏ธ ๐ ๐ ๐ข ๐ฉบ.
- * `url` (**โ**): `str` โฎ๏ธ ๐ ๐ข ๐งพ.
-
-### โ ๐ ๐
-
-โก๏ธ ๐ ๐ ๐ผ โฎ๏ธ ๐ `users` & `items`.
-
-โ ๐ ๐ ๐ & ๐ถโโ๏ธ โซ๏ธ `openapi_tags` ๐ข:
-
-{* ../../docs_src/metadata/tutorial004.py hl[3:16,18] *}
-
-๐ ๐ ๐ ๐ช โ๏ธ โ ๐ ๐, ๐ผ "๐ณ" ๐ ๐ฆ ๐ฆ (**๐ณ**) & "๐" ๐ ๐ฆ โ (_๐_).
-
-/// tip
-
-๐ ๐ซ โ๏ธ ๐ฎ ๐ ๐ ๐ ๐ ๐ โ๏ธ.
-
-///
-
-### โ๏ธ ๐ ๐
-
-โ๏ธ `tags` ๐ข โฎ๏ธ ๐ *โก ๐ ๏ธ* (& `APIRouter`โ) ๐ ๏ธ ๐ซ ๐ ๐:
-
-{* ../../docs_src/metadata/tutorial004.py hl[21,26] *}
-
-/// info
-
-โ ๐
๐ ๐ [โก ๐ ๏ธ ๐ณ](path-operation-configuration.md#_3){.internal-link target=_blank}.
-
-///
-
-### โ
๐ฉบ
-
-๐, ๐ฅ ๐ โ
๐ฉบ, ๐ซ ๐ ๐ฆ ๐ ๐ ๐:
-
-
-
-### โ ๐
-
-โ ๐ ๐ ๐ ๐ ๐ฌ โ ๐ฆ ๐ฉบ ๐.
-
-๐ผ, โ๏ธ `users` ๐ ๐ถ โฎ๏ธ `items` ๐ค โ, โซ๏ธ ๐ฆ โญ ๐ซ, โฉ๏ธ ๐ฅ ๐ฎ ๐ซ ๐ ๐ฅ ๐ ๐.
-
-## ๐ ๐
-
-๐ข, ๐ ๐ ๐ฆ `/openapi.json`.
-
-โ๏ธ ๐ ๐ช ๐ โซ๏ธ โฎ๏ธ ๐ข `openapi_url`.
-
-๐ผ, โ โซ๏ธ ๐ฆ `/api/v1/openapi.json`:
-
-{* ../../docs_src/metadata/tutorial002.py hl[3] *}
-
-๐ฅ ๐ ๐ โ ๐ ๐ ๐ ๐ ๐ช โ `openapi_url=None`, ๐ ๐ โ ๐งพ ๐ฉโ๐ป ๐ข ๐ โ๏ธ โซ๏ธ.
-
-## ๐ฉบ ๐
-
-๐ ๐ช ๐ 2๏ธโฃ ๐งพ ๐ฉโ๐ป ๐ข ๐:
-
-* **๐ฆ ๐**: ๐ฆ `/docs`.
- * ๐ ๐ช โ ๐ฎ ๐ โฎ๏ธ ๐ข `docs_url`.
- * ๐ ๐ช โ โซ๏ธ โ `docs_url=None`.
-* **๐**: ๐ฆ `/redoc`.
- * ๐ ๐ช โ ๐ฎ ๐ โฎ๏ธ ๐ข `redoc_url`.
- * ๐ ๐ช โ โซ๏ธ โ `redoc_url=None`.
-
-๐ผ, โ ๐ฆ ๐ ๐ฆ `/documentation` & โ ๐:
-
-{* ../../docs_src/metadata/tutorial003.py hl[3] *}
diff --git a/docs/em/docs/tutorial/middleware.md b/docs/em/docs/tutorial/middleware.md
deleted file mode 100644
index c77b10554..000000000
--- a/docs/em/docs/tutorial/middleware.md
+++ /dev/null
@@ -1,66 +0,0 @@
-# ๐ ๏ธ
-
-๐ ๐ช ๐ฎ ๐ ๏ธ **FastAPI** ๐ธ.
-
-"๐ ๏ธ" ๐ข ๐ ๐ท โฎ๏ธ ๐ **๐จ** โญ โซ๏ธ ๐ ๏ธ ๐ ๐ฏ *โก ๐ ๏ธ*. & โฎ๏ธ ๐ **๐จ** โญ ๐ฌ โซ๏ธ.
-
-* โซ๏ธ โ ๐ **๐จ** ๐ ๐ ๐ ๐ธ.
-* โซ๏ธ ๐ช โคด๏ธ ๐ณ ๐ **๐จ** โ๏ธ ๐ ๐ ๐ช ๐.
-* โคด๏ธ โซ๏ธ ๐ถโโ๏ธ **๐จ** ๐ ๏ธ ๐ ๐ธ ( *โก ๐ ๏ธ*).
-* โซ๏ธ โคด๏ธ โ **๐จ** ๐ ๐ธ ( *โก ๐ ๏ธ*).
-* โซ๏ธ ๐ช ๐ณ ๐ **๐จ** โ๏ธ ๐ ๐ ๐ช ๐.
-* โคด๏ธ โซ๏ธ ๐จ **๐จ**.
-
-/// note | ๐ก โน
-
-๐ฅ ๐ โ๏ธ ๐ โฎ๏ธ `yield`, ๐ช ๐ ๐ ๐ *โฎ๏ธ* ๐ ๏ธ.
-
-๐ฅ ๐ค ๐ ๐ฅ ๐ (๐ โช), ๐ซ ๐ ๐ *โฎ๏ธ* ๐ ๐ ๏ธ.
-
-///
-
-## โ ๐ ๏ธ
-
-โ ๐ ๏ธ ๐ โ๏ธ ๐จโ๐จ `@app.middleware("http")` ๐ ๐ ๐ข.
-
-๐ ๏ธ ๐ข ๐จ:
-
-* `request`.
-* ๐ข `call_next` ๐ ๐ ๐จ `request` ๐ข.
- * ๐ ๐ข ๐ ๐ถโโ๏ธ `request` ๐ *โก ๐ ๏ธ*.
- * โคด๏ธ โซ๏ธ ๐จ `response` ๐ ๐ *โก ๐ ๏ธ*.
-* ๐ ๐ช โคด๏ธ ๐ ๐
`response` โญ ๐ฌ โซ๏ธ.
-
-{* ../../docs_src/middleware/tutorial001.py hl[8:9,11,14] *}
-
-/// tip
-
-โ๏ธ ๐คฏ ๐ ๐ ยฉ ๐ ๐ช ๐ฎ โ๏ธ 'โ-' ๐ก.
-
-โ๏ธ ๐ฅ ๐ โ๏ธ ๐ ๐ ๐ ๐ ๐ ๐ฉโ๐ป ๐ฅ ๐ช ๐, ๐ ๐ช ๐ฎ ๐ซ ๐ โ ๐ณ ([โ (โ๏ธ-๐จ๐ณ โน ๐ค)](cors.md){.internal-link target=_blank}) โ๏ธ ๐ข `expose_headers` ๐ ๐ โ ๐ฉบ.
-
-///
-
-/// note | ๐ก โน
-
-๐ ๐ช โ๏ธ `from starlette.requests import Request`.
-
-**FastAPI** ๐ โซ๏ธ ๐ช ๐, ๐ฉโ๐ป. โ๏ธ โซ๏ธ ๐ ๐ โช๏ธโก๏ธ ๐.
-
-///
-
-### โญ & โฎ๏ธ `response`
-
-๐ ๐ช ๐ฎ ๐ ๐ โฎ๏ธ `request`, โญ ๐ *โก ๐ ๏ธ* ๐จ โซ๏ธ.
-
-& โฎ๏ธ `response` ๐, โญ ๐ฌ โซ๏ธ.
-
-๐ผ, ๐ ๐ช ๐ฎ ๐ ๐ `X-Process-Time` โ ๐ฐ ๐ฅ ๐ โซ๏ธ โ ๐ ๏ธ ๐จ & ๐ ๐จ:
-
-{* ../../docs_src/middleware/tutorial001.py hl[10,12:13] *}
-
-## ๐ ๐ ๏ธ
-
-๐ ๐ช โช โ ๐ ๐ ๐ ๐ ๏ธ [๐ง ๐ฉโ๐ป ๐ฆฎ: ๐ง ๐ ๏ธ](../advanced/middleware.md){.internal-link target=_blank}.
-
-๐ ๐ โ ๐ โ ๐ต โ โฎ๏ธ ๐ ๏ธ โญ ๐.
diff --git a/docs/em/docs/tutorial/path-operation-configuration.md b/docs/em/docs/tutorial/path-operation-configuration.md
deleted file mode 100644
index c6030c089..000000000
--- a/docs/em/docs/tutorial/path-operation-configuration.md
+++ /dev/null
@@ -1,107 +0,0 @@
-# โก ๐ ๏ธ ๐ณ
-
-๐ค ๐ ๐ข ๐ ๐ ๐ช ๐ถโโ๏ธ ๐ *โก ๐ ๏ธ ๐จโ๐จ* ๐ โซ๏ธ.
-
-/// warning
-
-๐ ๐ ๐ซ ๐ข ๐ถโโ๏ธ ๐ *โก ๐ ๏ธ ๐จโ๐จ*, ๐ซ ๐ *โก ๐ ๏ธ ๐ข*.
-
-///
-
-## ๐จ ๐ ๐
-
-๐ ๐ช ๐ฌ (๐บ๐ธ๐) `status_code` โ๏ธ ๐จ ๐ *โก ๐ ๏ธ*.
-
-๐ ๐ช ๐ถโโ๏ธ ๐ `int` ๐, ๐ `404`.
-
-โ๏ธ ๐ฅ ๐ ๐ซ ๐ญ โซ๏ธโ ๐ ๐ข ๐, ๐ ๐ช โ๏ธ โจ ๐ `status`:
-
-{* ../../docs_src/path_operation_configuration/tutorial001.py hl[3,17] *}
-
-๐ ๐ ๐ ๐ โ๏ธ ๐จ & ๐ ๐ฎ ๐ ๐.
-
-/// note | ๐ก โน
-
-๐ ๐ช โ๏ธ `from starlette import status`.
-
-**FastAPI** ๐ ๐ `starlette.status` `fastapi.status` ๐ช ๐, ๐ฉโ๐ป. โ๏ธ โซ๏ธ ๐ ๐ โช๏ธโก๏ธ ๐.
-
-///
-
-## ๐
-
-๐ ๐ช ๐ฎ ๐ ๐ *โก ๐ ๏ธ*, ๐ถโโ๏ธ ๐ข `tags` โฎ๏ธ `list` `str` (๐ 1๏ธโฃ `str`):
-
-{* ../../docs_src/path_operation_configuration/tutorial002.py hl[17,22,27] *}
-
-๐ซ ๐ ๐ฎ ๐ ๐ & โ๏ธ ๐ง ๐งพ ๐ข:
-
-
-
-### ๐ โฎ๏ธ ๐ข
-
-๐ฅ ๐ โ๏ธ ๐ฆ ๐ธ, ๐ 5๏ธโฃ๐ ๐ ๐ ๐ **๐ ๐**, & ๐ ๐ ๐ โ ๐ญ ๐ ๐ง โ๏ธ **๐ ๐** ๐ *โก ๐ ๏ธ*.
-
-๐ซ ๐ผ, โซ๏ธ ๐ช โ ๐ ๐ช ๐ `Enum`.
-
-**FastAPI** ๐โ๐ฆบ ๐ ๐ ๐ โฎ๏ธ โ
๐ป:
-
-{* ../../docs_src/path_operation_configuration/tutorial002b.py hl[1,8:10,13,18] *}
-
-## ๐ & ๐
-
-๐ ๐ช ๐ฎ `summary` & `description`:
-
-{* ../../docs_src/path_operation_configuration/tutorial003.py hl[20:21] *}
-
-## ๐ โช๏ธโก๏ธ #๏ธโฃ
-
-๐ ๐ ๐ & ๐ ๐ โธ, ๐ ๐ช ๐ฃ *โก ๐ ๏ธ* ๐ ๐ข #๏ธโฃ & **FastAPI** ๐ โ โซ๏ธ โช๏ธโก๏ธ ๐ค.
-
-๐ ๐ช โ โ #๏ธโฃ , โซ๏ธ ๐ ๐ฌ & ๐ฅ โ (โ ๐ ๐ง #๏ธโฃ ๐).
-
-{* ../../docs_src/path_operation_configuration/tutorial004.py hl[19:27] *}
-
-โซ๏ธ ๐ โ๏ธ ๐ ๐ฉบ:
-
-
-
-## ๐จ ๐
-
-๐ ๐ช โ ๐จ ๐ โฎ๏ธ ๐ข `response_description`:
-
-{* ../../docs_src/path_operation_configuration/tutorial005.py hl[21] *}
-
-/// info
-
-๐ ๐ `response_description` ๐ ๐ฏ ๐จ, `description` ๐ *โก ๐ ๏ธ* ๐ข.
-
-///
-
-/// check
-
-๐ โ ๐ ๐ *โก ๐ ๏ธ* ๐ ๐จ ๐.
-
-, ๐ฅ ๐ ๐ซ ๐ 1๏ธโฃ, **FastAPI** ๐ ๐ ๐ 1๏ธโฃ "๐ ๐จ".
-
-///
-
-
-
-## ๐ข *โก ๐ ๏ธ*
-
-๐ฅ ๐ ๐ช โข *โก ๐ ๏ธ* ๐ข, โ๏ธ ๐ต โ โซ๏ธ, ๐ถโโ๏ธ ๐ข `deprecated`:
-
-{* ../../docs_src/path_operation_configuration/tutorial006.py hl[16] *}
-
-โซ๏ธ ๐ ๐ฏ โข ๐ข ๐ ๐ฉบ:
-
-
-
-โ
โ ๐ข & ๐ซ-๐ข *โก ๐ ๏ธ* ๐ ๐:
-
-
-
-## ๐
-
-๐ ๐ช ๐ & ๐ฎ ๐ ๐ *โก ๐ ๏ธ* ๐ช ๐ถโโ๏ธ ๐ข *โก ๐ ๏ธ ๐จโ๐จ*.
diff --git a/docs/em/docs/tutorial/path-params-numeric-validations.md b/docs/em/docs/tutorial/path-params-numeric-validations.md
deleted file mode 100644
index b45e0557b..000000000
--- a/docs/em/docs/tutorial/path-params-numeric-validations.md
+++ /dev/null
@@ -1,117 +0,0 @@
-# โก ๐ข & ๐ข ๐ฌ
-
-๐ ๐ ๐ ๐ ๐ช ๐ฃ ๐
๐ฌ & ๐ ๐ข ๐ข โฎ๏ธ `Query`, ๐ ๐ช ๐ฃ ๐ ๐ ๐ฌ & ๐ โก ๐ข โฎ๏ธ `Path`.
-
-## ๐ โก
-
-๐ฅ, ๐ `Path` โช๏ธโก๏ธ `fastapi`:
-
-{* ../../docs_src/path_params_numeric_validations/tutorial001.py hl[3] *}
-
-## ๐ฃ ๐
-
-๐ ๐ช ๐ฃ ๐ ๐ ๐ข `Query`.
-
-๐ผ, ๐ฃ `title` ๐ ๐ฒ โก ๐ข `item_id` ๐ ๐ช ๐:
-
-{* ../../docs_src/path_params_numeric_validations/tutorial001.py hl[10] *}
-
-/// note
-
-โก ๐ข ๐ง โ โซ๏ธ โ๏ธ ๐ โก.
-
-, ๐ ๐ ๐ฃ โซ๏ธ โฎ๏ธ `...` โข โซ๏ธ โ.
-
-๐, ๐ฅ ๐ ๐ฃ โซ๏ธ โฎ๏ธ `None` โ๏ธ โ ๐ข ๐ฒ, โซ๏ธ ๐ ๐ซ ๐ ๐ณ, โซ๏ธ ๐ ๐ง ๐.
-
-///
-
-## โ ๐ข ๐ ๐ช
-
-โก๏ธ ๐ฌ ๐ ๐ ๐ ๐ฃ ๐ข ๐ข `q` โ `str`.
-
-& ๐ ๐ซ ๐ช ๐ฃ ๐ณ ๐ ๐ ๐ข, ๐ ๐ซ ๐ค ๐ช โ๏ธ `Query`.
-
-โ๏ธ ๐ ๐ช โ๏ธ `Path` `item_id` โก ๐ข.
-
-๐ ๐ ๐ญ ๐ฅ ๐ ๐ฎ ๐ฒ โฎ๏ธ "๐ข" โญ ๐ฒ ๐ ๐ซ โ๏ธ "๐ข".
-
-โ๏ธ ๐ ๐ช ๐ค-โ ๐ซ, & โ๏ธ ๐ฒ ๐ต ๐ข (๐ข ๐ข `q`) ๐ฅ.
-
-โซ๏ธ ๐ซ ๐ค **FastAPI**. โซ๏ธ ๐ ๐ ๐ข ๐ซ ๐, ๐ & ๐ข ๐ (`Query`, `Path`, โ๏ธ), โซ๏ธ ๐ซ ๐
๐ โ.
-
-, ๐ ๐ช ๐ฃ ๐ ๐ข:
-
-{* ../../docs_src/path_params_numeric_validations/tutorial002.py hl[7] *}
-
-## โ ๐ข ๐ ๐ช, ๐ฑ
-
-๐ฅ ๐ ๐ ๐ฃ `q` ๐ข ๐ข ๐ต `Query` ๐ซ ๐ ๐ข ๐ฒ, & โก ๐ข `item_id` โ๏ธ `Path`, & โ๏ธ ๐ซ ๐ โ, ๐ โ๏ธ ๐ฅ ๐ โ ๐.
-
-๐ถโโ๏ธ `*`, ๐ฅ ๐ข ๐ข.
-
-๐ ๐ ๐ซ ๐ณ โฎ๏ธ ๐ `*`, โ๏ธ โซ๏ธ ๐ ๐ญ ๐ ๐ ๐ ๐ข ๐ ๐ค ๐จ๐ป โ (๐-๐ฒ ๐ซ), ๐ญ kwargs. ๐ฅ ๐ซ ๐ซ โ๏ธ ๐ข ๐ฒ.
-
-{* ../../docs_src/path_params_numeric_validations/tutorial003.py hl[7] *}
-
-## ๐ข ๐ฌ: ๐ ๐ โ๏ธ ๐
-
-โฎ๏ธ `Query` & `Path` (& ๐ ๐ ๐ ๐ โช) ๐ ๐ช ๐ฃ ๐ข โ.
-
-๐ฅ, โฎ๏ธ `ge=1`, `item_id` ๐ ๐ช ๐ข ๐ข "`g`๐
พ ๐ โ๏ธ `e`๐
พ" `1`.
-
-{* ../../docs_src/path_params_numeric_validations/tutorial004.py hl[8] *}
-
-## ๐ข ๐ฌ: ๐ ๐ & ๐ ๐ โ๏ธ ๐
-
-๐ โ:
-
-* `gt`: `g`๐
พ `t`๐ฒ
-* `le`: `l`๐ญ ๐ โ๏ธ `e`๐
พ
-
-{* ../../docs_src/path_params_numeric_validations/tutorial005.py hl[9] *}
-
-## ๐ข ๐ฌ: ๐, ๐ ๐ & ๐ ๐
-
-๐ข ๐ฌ ๐ท `float` ๐ฒ.
-
-๐ฅ ๐โ โซ๏ธ โถ๏ธ๏ธ โ ๐ช ๐ฃ gt & ๐ซ ge. โฎ๏ธ โซ๏ธ ๐ ๐ช ๐, ๐ผ, ๐ ๐ฒ ๐ ๐ ๐ `0`, ๐ฅ โซ๏ธ ๐ ๐ `1`.
-
-, `0.5` ๐ โ ๐ฒ. โ๏ธ `0.0` โ๏ธ `0` ๐ ๐ซ.
-
-& ๐ lt.
-
-{* ../../docs_src/path_params_numeric_validations/tutorial006.py hl[11] *}
-
-## ๐
-
-โฎ๏ธ `Query`, `Path` (& ๐ ๐ ๐ซ ๐) ๐ ๐ช ๐ฃ ๐ & ๐ป ๐ฌ ๐ ๐ โฎ๏ธ [๐ข ๐ข & ๐ป ๐ฌ](query-params-str-validations.md){.internal-link target=_blank}.
-
-& ๐ ๐ช ๐ฃ ๐ข ๐ฌ:
-
-* `gt`: `g`๐
พ `t`๐ฒ
-* `ge`: `g`๐
พ ๐ โ๏ธ `e`๐
พ
-* `lt`: `l`๐ญ `t`๐ฒ
-* `le`: `l`๐ญ ๐ โ๏ธ `e`๐
พ
-
-/// info
-
-`Query`, `Path`, & ๐ ๐ ๐ ๐ ๐ โช ๐ฟ โ `Param` ๐.
-
-๐ ๐ซ ๐ฐ ๐ ๐ข ๐ ๐ฌ & ๐ ๐ โ๏ธ ๐.
-
-///
-
-/// note | ๐ก โน
-
-๐โ ๐ ๐ `Query`, `Path` & ๐ โช๏ธโก๏ธ `fastapi`, ๐ซ ๐ค ๐ข.
-
-๐ ๐โ ๐ค, ๐จ ๐ ๐ ๐ ๐.
-
-, ๐ ๐ `Query`, โ ๐ข. & ๐โ ๐ ๐ค โซ๏ธ, โซ๏ธ ๐จ ๐ ๐ ๐ `Query`.
-
-๐ซ ๐ข ๐ค (โฉ๏ธ โ๏ธ ๐ ๐) ๐ ๐ ๐จโ๐จ ๐ซ โข โ ๐ ๐ซ ๐.
-
-๐ ๐ ๐ ๐ช โ๏ธ ๐ ๐ ๐จโ๐จ & ๐ ๏ธ ๐งฐ ๐ต โ๏ธ ๐ฎ ๐ ๐ณ ๐คทโโ ๐ โ.
-
-///
diff --git a/docs/em/docs/tutorial/path-params.md b/docs/em/docs/tutorial/path-params.md
deleted file mode 100644
index a914dc905..000000000
--- a/docs/em/docs/tutorial/path-params.md
+++ /dev/null
@@ -1,256 +0,0 @@
-# โก ๐ข
-
-๐ ๐ช ๐ฃ โก "๐ข" โ๏ธ "๐ข" โฎ๏ธ ๐ โ โ๏ธ ๐ ๐ ๐ป:
-
-{* ../../docs_src/path_params/tutorial001.py hl[6:7] *}
-
-๐ฒ โก ๐ข `item_id` ๐ ๐ถโโ๏ธ ๐ ๐ข โ `item_id`.
-
-, ๐ฅ ๐ ๐ ๐ ๐ผ & ๐ถ http://127.0.0.1:8000/items/foo, ๐ ๐ ๐ ๐จ:
-
-```JSON
-{"item_id":"foo"}
-```
-
-## โก ๐ข โฎ๏ธ ๐
-
-๐ ๐ช ๐ฃ ๐ โก ๐ข ๐ข, โ๏ธ ๐ฉ ๐ ๐ โ:
-
-{* ../../docs_src/path_params/tutorial002.py hl[7] *}
-
-๐ ๐ผ, `item_id` ๐ฃ `int`.
-
-/// check
-
-๐ ๐ ๐ค ๐ ๐จโ๐จ ๐โ๐ฆบ ๐ ๐ ๐ข, โฎ๏ธ โ โ
, ๐ ๏ธ, โ๏ธ.
-
-///
-
-## ๐ฝ ๐ ๏ธ
-
-๐ฅ ๐ ๐ ๐ ๐ผ & ๐ ๐ ๐ฅ http://127.0.0.1:8000/items/3, ๐ ๐ ๐ ๐จ:
-
-```JSON
-{"item_id":3}
-```
-
-/// check
-
-๐ ๐ ๐ฒ ๐ ๐ข ๐จ (& ๐จ) `3`, ๐ `int`, ๐ซ ๐ป `"3"`.
-
-, โฎ๏ธ ๐ ๐ ๐, **FastAPI** ๐ค ๐ ๐ง ๐จ "โ".
-
-///
-
-## ๐ฝ ๐ฌ
-
-โ๏ธ ๐ฅ ๐ ๐ถ ๐ฅ http://127.0.0.1:8000/items/foo, ๐ ๐ ๐ ๐ ๐บ๐ธ๐ โ:
-
-```JSON
-{
- "detail": [
- {
- "loc": [
- "path",
- "item_id"
- ],
- "msg": "value is not a valid integer",
- "type": "type_error.integer"
- }
- ]
-}
-```
-
-โฉ๏ธ โก ๐ข `item_id` โ๏ธ ๐ฒ `"foo"`, โ ๐ซ `int`.
-
-๐ โ ๐ ๐ ๐ฅ ๐ ๐ `float` โฉ๏ธ `int`,: http://127.0.0.1:8000/items/4.2
-
-/// check
-
-, โฎ๏ธ ๐ ๐ ๐ ๐, **FastAPI** ๐ค ๐ ๐ฝ ๐ฌ.
-
-๐ ๐ โ ๐ฏ ๐ต๐ธ โซ๏ธโ โ ๐โ ๐ฌ ๐ซ ๐ถโโ๏ธ.
-
-๐ ๐ ๐ โช ๐ ๏ธ & ๐ ๏ธ ๐ ๐ ๐ โฎ๏ธ ๐ ๐ ๏ธ.
-
-///
-
-## ๐งพ
-
-& ๐โ ๐ ๐ ๐ ๐ฅ http://127.0.0.1:8000/docs, ๐ ๐ ๐ ๐ง, ๐, ๐ ๏ธ ๐งพ ๐:
-
-
-
-/// check
-
-๐, โฎ๏ธ ๐ ๐ ๐ ๐ ๐, **FastAPI** ๐ค ๐ ๐ง, ๐ ๐งพ (๐ ๏ธ ๐ฆ ๐).
-
-๐ ๐ โก ๐ข ๐ฃ ๐ข.
-
-///
-
-## ๐ฉ-โ๏ธ ๐ฐ, ๐ ๐งพ
-
-& โฉ๏ธ ๐ ๐ โช๏ธโก๏ธ ๐ ๐ฉ, ๐ค ๐ ๐ ๐งฐ.
-
-โฉ๏ธ ๐, **FastAPI** โซ๏ธ ๐ ๐ ๐ ๏ธ ๐งพ (โ๏ธ ๐), โ ๐ ๐ช ๐ http://127.0.0.1:8000/redoc:
-
-
-
-๐ ๐, ๐ค ๐ ๐ ๐งฐ. โ
๐ โก ๐งฐ ๐ ๐ช๐ธ.
-
-## Pydantic
-
-๐ ๐ฝ ๐ฌ ๐ญ ๐ฝ ๐ Pydantic, ๐ ๐ค ๐ ๐ฐ โช๏ธโก๏ธ โซ๏ธ. & ๐ ๐ญ ๐ ๐ โ.
-
-๐ ๐ช โ๏ธ ๐ ๐ ๐ โฎ๏ธ `str`, `float`, `bool` & ๐ ๐ ๐ ๐ ๐.
-
-๐ ๐ซ ๐ฌ โญ ๐ ๐ฐ.
-
-## โ ๐ค
-
-๐โ ๐ *โก ๐ ๏ธ*, ๐ ๐ช ๐ โ ๐โ ๐ โ๏ธ ๐ง โก.
-
-๐ `/users/me`, โก๏ธ ๐ฌ ๐ โซ๏ธ ๐ค ๐ ๐ โฎ๏ธ ๐ฉโ๐ป.
-
-& โคด๏ธ ๐ ๐ช โ๏ธ โก `/users/{user_id}` ๐ค ๐ฝ ๐ ๐ฏ ๐ฉโ๐ป ๐ฉโ๐ป ๐.
-
-โฉ๏ธ *โก ๐ ๏ธ* ๐ฌ โ, ๐ ๐ช โ ๐ญ ๐ โก `/users/me` ๐ฃ โญ 1๏ธโฃ `/users/{user_id}`:
-
-{* ../../docs_src/path_params/tutorial003.py hl[6,11] *}
-
-โช, โก `/users/{user_id}` ๐ ๐ `/users/me`, "๐ญ" ๐ โซ๏ธ ๐จ ๐ข `user_id` โฎ๏ธ ๐ฒ `"me"`.
-
-โก, ๐ ๐ซ๐ โ โก ๐ ๏ธ:
-
-{* ../../docs_src/path_params/tutorial003b.py hl[6,11] *}
-
-๐ฅ ๐ ๐ ๐ง โ๏ธ โฉ๏ธ โก ๐ ๐ฅ.
-
-## ๐ ๐ฒ
-
-๐ฅ ๐ โ๏ธ *โก ๐ ๏ธ* ๐ ๐จ *โก ๐ข*, โ๏ธ ๐ ๐ ๐ช โ *โก ๐ข* ๐ฒ ๐, ๐ ๐ช โ๏ธ ๐ฉ ๐ `Enum`.
-
-### โ `Enum` ๐
-
-๐ `Enum` & โ ๐ง-๐ ๐ ๐ โช๏ธโก๏ธ `str` & โช๏ธโก๏ธ `Enum`.
-
-๐ โช๏ธโก๏ธ `str` ๐ ๏ธ ๐ฉบ ๐ ๐ช ๐ญ ๐ ๐ฒ ๐ ๐ `string` & ๐ ๐ช โ โ.
-
-โคด๏ธ โ ๐ ๐ข โฎ๏ธ ๐ง ๐ฒ, โ ๐ ๐ช โ ๐ฒ:
-
-{* ../../docs_src/path_params/tutorial005.py hl[1,6:9] *}
-
-/// info
-
-๐ข (โ๏ธ ๐ข) ๐ช ๐ โฉ๏ธ โฌ 3๏ธโฃ.4๏ธโฃ.
-
-///
-
-/// tip
-
-๐ฅ ๐ ๐ญ, "๐", "๐", & "๐" ๐ ๐ฐ ๐ซ ๐ท.
-
-///
-
-### ๐ฃ *โก ๐ข*
-
-โคด๏ธ โ *โก ๐ข* โฎ๏ธ ๐ โ โ๏ธ ๐ข ๐ ๐ โ (`ModelName`):
-
-{* ../../docs_src/path_params/tutorial005.py hl[16] *}
-
-### โ
๐ฉบ
-
-โฉ๏ธ ๐ช ๐ฒ *โก ๐ข* ๐ข, ๐ ๐ฉบ ๐ช ๐ฆ ๐ซ ๐:
-
-
-
-### ๐ท โฎ๏ธ ๐ *๐ข*
-
-๐ฒ *โก ๐ข* ๐ *๐ข ๐จโ๐*.
-
-#### ๐ฌ *๐ข ๐จโ๐*
-
-๐ ๐ช ๐ฌ โซ๏ธ โฎ๏ธ *๐ข ๐จโ๐* ๐ โ ๐ข `ModelName`:
-
-{* ../../docs_src/path_params/tutorial005.py hl[17] *}
-
-#### ๐ค *๐ข ๐ฒ*
-
-๐ ๐ช ๐ค โ ๐ฒ ( `str` ๐ ๐ผ) โ๏ธ `model_name.value`, โ๏ธ ๐ข, `your_enum_member.value`:
-
-{* ../../docs_src/path_params/tutorial005.py hl[20] *}
-
-/// tip
-
-๐ ๐ช ๐ ๐ฒ `"lenet"` โฎ๏ธ `ModelName.lenet.value`.
-
-///
-
-#### ๐จ *๐ข ๐จโ๐*
-
-๐ ๐ช ๐จ *๐ข ๐จโ๐* โช๏ธโก๏ธ ๐ *โก ๐ ๏ธ*, ๐ฆ ๐ป ๐ช (โ
`dict`).
-
-๐ซ ๐ ๐ ๐ซ ๐ ๐ฒ (๐ป ๐ ๐ผ) โญ ๐ฌ ๐ซ ๐ฉโ๐ป:
-
-{* ../../docs_src/path_params/tutorial005.py hl[18,21,23] *}
-
-๐ ๐ฉโ๐ป ๐ ๐ ๐ค ๐ป ๐จ ๐:
-
-```JSON
-{
- "model_name": "alexnet",
- "message": "Deep Learning FTW!"
-}
-```
-
-## โก ๐ข โ โก
-
-โก๏ธ ๐ฌ ๐ โ๏ธ *โก ๐ ๏ธ* โฎ๏ธ โก `/files/{file_path}`.
-
-โ๏ธ ๐ ๐ช `file_path` โซ๏ธ ๐ *โก*, ๐ `home/johndoe/myfile.txt`.
-
-, ๐ ๐ ๐ ๐ ๐ณ ๐: `/files/home/johndoe/myfile.txt`.
-
-### ๐ ๐โ๐ฆบ
-
-๐ ๐ซ ๐โ๐ฆบ ๐ ๐ฃ *โก ๐ข* ๐ *โก* ๐, ๐ ๐ช โ๏ธ ๐ ๐ โ ๐ฏ & ๐ฌ.
-
-๐, ๐ ๐ช โซ๏ธ **FastAPI**, โ๏ธ 1๏ธโฃ ๐ ๐งฐ โช๏ธโก๏ธ ๐.
-
-& ๐ฉบ ๐ ๐ท, ๐ ๐ซ โ ๐ ๐งพ ๐ฌ ๐ ๐ข ๐ ๐ โก.
-
-### โก ๐
-
-โ๏ธ ๐ ๐ โช๏ธโก๏ธ ๐ ๐ ๐ช ๐ฃ *โก ๐ข* โ *โก* โ๏ธ ๐ ๐:
-
-```
-/files/{file_path:path}
-```
-
-๐ ๐ผ, ๐ ๐ข `file_path`, & ๐ ๐, `:path`, ๐ฌ โซ๏ธ ๐ ๐ข ๐ ๐ ๐ *โก*.
-
-, ๐ ๐ช โ๏ธ โซ๏ธ โฎ๏ธ:
-
-{* ../../docs_src/path_params/tutorial004.py hl[6] *}
-
-/// tip
-
-๐ ๐ช ๐ช ๐ข ๐ `/home/johndoe/myfile.txt`, โฎ๏ธ ๐ ๐ช (`/`).
-
-๐ ๐ผ, ๐ ๐: `/files//home/johndoe/myfile.txt`, โฎ๏ธ 2๏ธโฃโ๏ธ ๐ช (`//`) ๐ `files` & `home`.
-
-///
-
-## ๐
-
-โฎ๏ธ **FastAPI**, โ๏ธ ๐, ๐๏ธ & ๐ฉ ๐ ๐ ๐, ๐ ๐ค:
-
-* ๐จโ๐จ ๐โ๐ฆบ: โ โ
, โ, โ๏ธ.
-* ๐ฝ "โ"
-* ๐ฝ ๐ฌ
-* ๐ ๏ธ โ & ๐ง ๐งพ
-
-& ๐ ๐ด โ๏ธ ๐ฃ ๐ซ ๐.
-
-๐ ๐ฒ ๐ โญ ๐ **FastAPI** ๐ฌ ๐ ๐ ๏ธ (โ๏ธ โช๏ธโก๏ธ ๐ฃ ๐ญ).
diff --git a/docs/em/docs/tutorial/query-params-str-validations.md b/docs/em/docs/tutorial/query-params-str-validations.md
deleted file mode 100644
index fd077bf8f..000000000
--- a/docs/em/docs/tutorial/query-params-str-validations.md
+++ /dev/null
@@ -1,320 +0,0 @@
-# ๐ข ๐ข & ๐ป ๐ฌ
-
-**FastAPI** โ ๐ ๐ฃ ๐ โน & ๐ฌ ๐ ๐ข.
-
-โก๏ธ โ ๐ ๐ธ ๐ผ:
-
-{* ../../docs_src/query_params_str_validations/tutorial001.py hl[9] *}
-
-๐ข ๐ข `q` ๐ `Union[str, None]` (โ๏ธ `str | None` ๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ), ๐ โ ๐ โซ๏ธ ๐ `str` โ๏ธ ๐ช `None`, & ๐, ๐ข ๐ฒ `None`, FastAPI ๐ ๐ญ โซ๏ธ ๐ซ โ.
-
-/// note
-
-FastAPI ๐ ๐ญ ๐ ๐ฒ `q` ๐ซ โ โฉ๏ธ ๐ข ๐ฒ `= None`.
-
- `Union` `Union[str, None]` ๐ โ ๐ ๐จโ๐จ ๐ค ๐ ๐ ๐โ๐ฆบ & ๐ โ.
-
-///
-
-## ๐ ๐ฌ
-
-๐ฅ ๐ ๐ ๏ธ ๐ โ๏ธ `q` ๐ฆ, ๐โ โซ๏ธ ๐, **๐ฎ ๐ ๐ซ ๐ 5๏ธโฃ0๏ธโฃ ๐ฆน**.
-
-### ๐ `Query`
-
-๐ ๐, ๐ฅ ๐ `Query` โช๏ธโก๏ธ `fastapi`:
-
-{* ../../docs_src/query_params_str_validations/tutorial002.py hl[3] *}
-
-## โ๏ธ `Query` ๐ข ๐ฒ
-
-& ๐ โ๏ธ โซ๏ธ ๐ข ๐ฒ ๐ ๐ข, โ ๐ข `max_length` 5๏ธโฃ0๏ธโฃ:
-
-{* ../../docs_src/query_params_str_validations/tutorial002.py hl[9] *}
-
-๐ฅ โ๏ธ โ ๐ข ๐ฒ `None` ๐ข โฎ๏ธ `Query()`, ๐ฅ ๐ช ๐ โ ๐ข ๐ฒ โฎ๏ธ ๐ข `Query(default=None)`, โซ๏ธ ๐ฆ ๐ ๐ฏ โ ๐ ๐ข ๐ฒ.
-
-:
-
-```Python
-q: Union[str, None] = Query(default=None)
-```
-
-...โ ๐ข ๐ฆ, ๐:
-
-```Python
-q: Union[str, None] = None
-```
-
-& ๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ & ๐:
-
-```Python
-q: str | None = Query(default=None)
-```
-
-...โ ๐ข ๐ฆ, ๐:
-
-```Python
-q: str | None = None
-```
-
-โ๏ธ โซ๏ธ ๐ฃ โซ๏ธ ๐ฏ ๐โโ ๐ข ๐ข.
-
-/// info
-
-โ๏ธ ๐คฏ ๐ ๐
โ ๐ โ ๐ข ๐ฆ ๐:
-
-```Python
-= None
-```
-
-โ๏ธ:
-
-```Python
-= Query(default=None)
-```
-
-โซ๏ธ ๐ โ๏ธ ๐ `None` ๐ข ๐ฒ, & ๐ ๐ โ ๐ข **๐ซ โ**.
-
- `Union[str, None]` ๐ โ ๐ ๐จโ๐จ ๐ ๐ป ๐โ๐ฆบ, โ๏ธ โซ๏ธ ๐ซ โซ๏ธโ ๐ฌ FastAPI ๐ ๐ ๐ข ๐ซ โ.
-
-///
-
-โคด๏ธ, ๐ฅ ๐ช ๐ถโโ๏ธ ๐
๐ข `Query`. ๐ ๐ผ, `max_length` ๐ข ๐ โ ๐ป:
-
-```Python
-q: Union[str, None] = Query(default=None, max_length=50)
-```
-
-๐ ๐ โ ๐, ๐ฆ ๐ โ ๐โ ๐ ๐ซ โ, & ๐ ๐ข ๐ ๐ *โก ๐ ๏ธ*.
-
-## ๐ฎ ๐
๐ฌ
-
-๐ ๐ช ๐ฎ ๐ข `min_length`:
-
-{* ../../docs_src/query_params_str_validations/tutorial003.py hl[10] *}
-
-## ๐ฎ ๐ฅ ๐งฌ
-
-๐ ๐ช ๐ฌ ๐ฅ ๐งฌ ๐ ๐ข ๐ ๐:
-
-{* ../../docs_src/query_params_str_validations/tutorial004.py hl[11] *}
-
-๐ ๐ฏ ๐ฅ ๐งฌ โ
๐ ๐จ ๐ข ๐ฒ:
-
-* `^`: โถ๏ธ โฎ๏ธ ๐ ๐ฆน, ๐ซ โ๏ธ ๐ฆน โญ.
-* `fixedquery`: โ๏ธ โ ๐ฒ `fixedquery`.
-* `$`: ๐ ๐ค, ๐ซ โ๏ธ ๐ ๐ ๐ฆน โฎ๏ธ `fixedquery`.
-
-๐ฅ ๐ ๐ญ ๐ธ โฎ๏ธ ๐ ๐ **"๐ฅ ๐งฌ"** ๐ญ, ๐ซ ๐. ๐ซ ๐๏ธ โ ๐ ๐ซ๐ซ. ๐ ๐ช ๐ ๐ฉ ๐ต ๐โโ ๐ฅ ๐งฌ.
-
-โ๏ธ ๐โ ๐ ๐ช ๐ซ & ๐ถ & ๐ก ๐ซ, ๐ญ ๐ ๐ ๐ช โช โ๏ธ ๐ซ ๐ **FastAPI**.
-
-## ๐ข ๐ฒ
-
-๐ ๐ ๐ ๐ ๐ช ๐ถโโ๏ธ `None` ๐ฒ `default` ๐ข, ๐ ๐ช ๐ถโโ๏ธ ๐ ๐ฒ.
-
-โก๏ธ ๐ฌ ๐ ๐ ๐ ๐ฃ `q` ๐ข ๐ข โ๏ธ `min_length` `3`, & โ๏ธ ๐ข ๐ฒ `"fixedquery"`:
-
-{* ../../docs_src/query_params_str_validations/tutorial005.py hl[7] *}
-
-/// note
-
-โ๏ธ ๐ข ๐ฒ โ ๐ข ๐ฆ.
-
-///
-
-## โ โซ๏ธ โ
-
-๐โ ๐ฅ ๐ซ ๐ช ๐ฃ ๐
๐ฌ โ๏ธ ๐, ๐ฅ ๐ช โ `q` ๐ข ๐ข โ ๐ซ ๐ฃ ๐ข ๐ฒ, ๐:
-
-```Python
-q: str
-```
-
-โฉ๏ธ:
-
-```Python
-q: Union[str, None] = None
-```
-
-โ๏ธ ๐ฅ ๐ ๐ฃ โซ๏ธ โฎ๏ธ `Query`, ๐ผ ๐:
-
-```Python
-q: Union[str, None] = Query(default=None, min_length=3)
-```
-
-, ๐โ ๐ ๐ช ๐ฃ ๐ฒ โ โช โ๏ธ `Query`, ๐ ๐ช ๐ฏ ๐ซ ๐ฃ ๐ข ๐ฒ:
-
-{* ../../docs_src/query_params_str_validations/tutorial006.py hl[7] *}
-
-### โ โฎ๏ธ `None`
-
-๐ ๐ช ๐ฃ ๐ ๐ข ๐ช ๐ซ `None`, โ๏ธ ๐ โซ๏ธ โ. ๐ ๐ โก ๐ฉโ๐ป ๐จ ๐ฒ, ๐ฅ ๐ฒ `None`.
-
-๐, ๐ ๐ช ๐ฃ ๐ `None` โ ๐ โ๏ธ โ๏ธ `default=...`:
-
-{* ../../docs_src/query_params_str_validations/tutorial006c.py hl[9] *}
-
-/// tip
-
-Pydantic, โ โซ๏ธโ ๐๏ธ ๐ ๐ฝ ๐ฌ & ๐ ๏ธ FastAPI, โ๏ธ ๐ ๐ญ ๐โ ๐ โ๏ธ `Optional` โ๏ธ `Union[Something, None]` ๐ต ๐ข ๐ฒ, ๐ ๐ช โ ๐
๐ โซ๏ธ Pydantic ๐ฉบ ๐ โ ๐ฆ ๐.
-
-///
-
-## ๐ข ๐ข ๐ / ๐ ๐ฒ
-
-๐โ ๐ ๐ฌ ๐ข ๐ข ๐ฏ โฎ๏ธ `Query` ๐ ๐ช ๐ฃ โซ๏ธ ๐จ ๐ ๐ฒ, โ๏ธ ๐โโ ๐ ๐, ๐จ ๐ ๐ฒ.
-
-๐ผ, ๐ฃ ๐ข ๐ข `q` ๐ ๐ช ๐ ๐ ๐ฐ ๐, ๐ ๐ช โ:
-
-{* ../../docs_src/query_params_str_validations/tutorial011.py hl[9] *}
-
-โคด๏ธ, โฎ๏ธ ๐ ๐:
-
-```
-http://localhost:8000/items/?q=foo&q=bar
-```
-
-๐ ๐ ๐จ ๐ `q` *๐ข ๐ข'* ๐ฒ (`foo` & `bar`) ๐ `list` ๐ ๐ *โก ๐ ๏ธ ๐ข*, *๐ข ๐ข* `q`.
-
-, ๐จ ๐ ๐ ๐:
-
-```JSON
-{
- "q": [
- "foo",
- "bar"
- ]
-}
-```
-
-/// tip
-
-๐ฃ ๐ข ๐ข โฎ๏ธ ๐ `list`, ๐ ๐ผ ๐, ๐ ๐ช ๐ฏ โ๏ธ `Query`, โช โซ๏ธ ๐ ๐ฌ ๐จ ๐ช.
-
-///
-
-๐ ๐ ๏ธ ๐ฉบ ๐ โน โก๏ธ, โ ๐ ๐ฒ:
-
-
-
-### ๐ข ๐ข ๐ / ๐ ๐ฒ โฎ๏ธ ๐ข
-
-& ๐ ๐ช ๐ฌ ๐ข `list` ๐ฒ ๐ฅ ๐ ๐:
-
-{* ../../docs_src/query_params_str_validations/tutorial012.py hl[9] *}
-
-๐ฅ ๐ ๐ถ:
-
-```
-http://localhost:8000/items/
-```
-
-๐ข `q` ๐: `["foo", "bar"]` & ๐ ๐จ ๐:
-
-```JSON
-{
- "q": [
- "foo",
- "bar"
- ]
-}
-```
-
-#### โ๏ธ `list`
-
-๐ ๐ช โ๏ธ `list` ๐ โฉ๏ธ `List[str]` (โ๏ธ `list[str]` ๐ 3๏ธโฃ.9๏ธโฃ โ):
-
-{* ../../docs_src/query_params_str_validations/tutorial013.py hl[7] *}
-
-/// note
-
-โ๏ธ ๐คฏ ๐ ๐ ๐ผ, FastAPI ๐ ๐ซ โ
๐ ๐.
-
-๐ผ, `List[int]` ๐ โ
(& ๐) ๐ ๐ ๐ ๐ข. โ๏ธ `list` ๐ ๐ซ๐.
-
-///
-
-## ๐ฃ ๐
๐
-
-๐ ๐ช ๐ฎ ๐
โน ๐ ๐ข.
-
-๐ โน ๐ ๐ ๐ ๐ & โ๏ธ ๐งพ ๐ฉโ๐ป ๐ข & ๐ข ๐งฐ.
-
-/// note
-
-โ๏ธ ๐คฏ ๐ ๐ ๐งฐ 5๏ธโฃ๐ โ๏ธ ๐ ๐ ๐ ๐โ๐ฆบ.
-
-๐ซ ๐ช ๐ซ ๐ฆ ๐ โ โน ๐ฃ, ๐ ๐
๐ผ, โ โ โช ๐ ๐ ๏ธ.
-
-///
-
-๐ ๐ช ๐ฎ `title`:
-
-{* ../../docs_src/query_params_str_validations/tutorial007.py hl[10] *}
-
-& `description`:
-
-{* ../../docs_src/query_params_str_validations/tutorial008.py hl[13] *}
-
-## ๐ ๐ข
-
-๐ ๐ ๐ ๐ ๐ข `item-query`.
-
-๐:
-
-```
-http://127.0.0.1:8000/items/?item-query=foobaritems
-```
-
-โ๏ธ `item-query` ๐ซ โ ๐ ๐ข ๐.
-
-๐ ๐ `item_query`.
-
-โ๏ธ ๐ ๐ช โซ๏ธ โซ๏ธโ `item-query`...
-
-โคด๏ธ ๐ ๐ช ๐ฃ `alias`, & ๐ ๐ โซ๏ธโ ๐ โ๏ธ ๐ ๐ข ๐ฒ:
-
-{* ../../docs_src/query_params_str_validations/tutorial009.py hl[9] *}
-
-## ๐ ๐ข
-
-๐ โก๏ธ ๐ฌ ๐ ๐ซ ๐ ๐ ๐ข ๐ซ๐.
-
-๐ โ๏ธ ๐ โซ๏ธ ๐ค โช โฉ๏ธ ๐ค ๐ฉโ๐ป โ๏ธ โซ๏ธ, โ๏ธ ๐ ๐ ๐ฉบ ๐ฏ ๐ฆ โซ๏ธ ๐ข.
-
-โคด๏ธ ๐ถโโ๏ธ ๐ข `deprecated=True` `Query`:
-
-{* ../../docs_src/query_params_str_validations/tutorial010.py hl[18] *}
-
-๐ฉบ ๐ ๐ฆ โซ๏ธ ๐ ๐:
-
-
-
-## ๐ซ โช๏ธโก๏ธ ๐
-
-๐ซ ๐ข ๐ข โช๏ธโก๏ธ ๐ ๐ ๐ (& โก๏ธ, โช๏ธโก๏ธ ๐ง ๐งพ โ๏ธ), โ ๐ข `include_in_schema` `Query` `False`:
-
-{* ../../docs_src/query_params_str_validations/tutorial014.py hl[10] *}
-
-## ๐
-
-๐ ๐ช ๐ฃ ๐ ๐ฌ & ๐ ๐ ๐ข.
-
-๐ ๐ฌ & ๐:
-
-* `alias`
-* `title`
-* `description`
-* `deprecated`
-
-๐ฌ ๐ฏ ๐ป:
-
-* `min_length`
-* `max_length`
-* `regex`
-
-๐ซ ๐ผ ๐ ๐ โ ๐ฃ ๐ฌ `str` ๐ฒ.
-
-๐ โญ ๐ ๐ โ ๐ฃ ๐ฌ ๐ ๐, ๐ ๐ข.
diff --git a/docs/em/docs/tutorial/query-params.md b/docs/em/docs/tutorial/query-params.md
deleted file mode 100644
index 5c8d868a9..000000000
--- a/docs/em/docs/tutorial/query-params.md
+++ /dev/null
@@ -1,187 +0,0 @@
-# ๐ข ๐ข
-
-๐โ ๐ ๐ฃ ๐ ๐ข ๐ข ๐ ๐ซ ๐ โก ๐ข, ๐ซ ๐ ๐ฌ "๐ข" ๐ข.
-
-{* ../../docs_src/query_params/tutorial001.py hl[9] *}
-
-๐ข โ ๐-๐ฒ ๐ซ ๐ ๐ถ โฎ๏ธ `?` ๐, ๐ `&` ๐ฆน.
-
-๐ผ, ๐:
-
-```
-http://127.0.0.1:8000/items/?skip=0&limit=10
-```
-
-...๐ข ๐ข:
-
-* `skip`: โฎ๏ธ ๐ฒ `0`
-* `limit`: โฎ๏ธ ๐ฒ `10`
-
-๐ซ ๐ ๐, ๐ซ "๐" ๐ป.
-
-โ๏ธ ๐โ ๐ ๐ฃ ๐ซ โฎ๏ธ ๐ ๐ (๐ผ ๐, `int`), ๐ซ ๐ ๐ ๐ & โ ๐ก โซ๏ธ.
-
-๐ ๐ ๐ ๏ธ ๐ โ โก ๐ข โ ๐ข ๐ข:
-
-* ๐จโ๐จ ๐โ๐ฆบ (๐ฒ)
-* ๐ฝ "โ"
-* ๐ฝ ๐ฌ
-* ๐ง ๐งพ
-
-## ๐ข
-
-๐ข ๐ข ๐ซ ๐ง ๐ โก, ๐ซ ๐ช ๐ฆ & ๐ช โ๏ธ ๐ข ๐ฒ.
-
-๐ผ ๐ ๐ซ โ๏ธ ๐ข ๐ฒ `skip=0` & `limit=10`.
-
-, ๐ ๐:
-
-```
-http://127.0.0.1:8000/items/
-```
-
-๐ ๐ ๐:
-
-```
-http://127.0.0.1:8000/items/?skip=0&limit=10
-```
-
-โ๏ธ ๐ฅ ๐ ๐ถ, ๐ผ:
-
-```
-http://127.0.0.1:8000/items/?skip=20
-```
-
-๐ข ๐ฒ ๐ ๐ข ๐:
-
-* `skip=20`: โฉ๏ธ ๐ โ โซ๏ธ ๐
-* `limit=10`: โฉ๏ธ ๐ ๐ข ๐ฒ
-
-## ๐ฆ ๐ข
-
-๐ ๐, ๐ ๐ช ๐ฃ ๐ฆ ๐ข ๐ข, โ ๐ซ ๐ข `None`:
-
-{* ../../docs_src/query_params/tutorial002.py hl[9] *}
-
-๐ ๐ผ, ๐ข ๐ข `q` ๐ ๐ฆ, & ๐ `None` ๐ข.
-
-/// check
-
-๐ ๐ **FastAPI** ๐ ๐ฅ ๐ ๐ โก ๐ข `item_id` โก ๐ข & `q` ๐ซ,, โซ๏ธ ๐ข ๐ข.
-
-///
-
-## ๐ข ๐ข ๐ ๐ ๏ธ
-
-๐ ๐ช ๐ฃ `bool` ๐, & ๐ซ ๐ ๐:
-
-{* ../../docs_src/query_params/tutorial003.py hl[9] *}
-
-๐ ๐ผ, ๐ฅ ๐ ๐ถ:
-
-```
-http://127.0.0.1:8000/items/foo?short=1
-```
-
-โ๏ธ
-
-```
-http://127.0.0.1:8000/items/foo?short=True
-```
-
-โ๏ธ
-
-```
-http://127.0.0.1:8000/items/foo?short=true
-```
-
-โ๏ธ
-
-```
-http://127.0.0.1:8000/items/foo?short=on
-```
-
-โ๏ธ
-
-```
-http://127.0.0.1:8000/items/foo?short=yes
-```
-
-โ๏ธ ๐ ๐ ๐ผ ๐ (๐ , ๐ฅ ๐ค ๐ , โ๏ธ), ๐ ๐ข ๐ ๐ ๐ข `short` โฎ๏ธ `bool` ๐ฒ `True`. โช `False`.
-
-
-## ๐ โก & ๐ข ๐ข
-
-๐ ๐ช ๐ฃ ๐ โก ๐ข & ๐ข ๐ข ๐ ๐ฐ, **FastAPI** ๐ญ โ โ.
-
-& ๐ ๐ซ โ๏ธ ๐ฃ ๐ซ ๐ ๐ฏ โ.
-
-๐ซ ๐ ๐ฌ ๐:
-
-{* ../../docs_src/query_params/tutorial004.py hl[8,10] *}
-
-## โ ๐ข ๐ข
-
-๐โ ๐ ๐ฃ ๐ข ๐ฒ ๐ซ-โก ๐ข (๐, ๐ฅ โ๏ธ ๐ด ๐ ๐ข ๐ข), โคด๏ธ โซ๏ธ ๐ซ โ.
-
-๐ฅ ๐ ๐ซ ๐ ๐ฎ ๐ฏ ๐ฒ โ๏ธ โ โซ๏ธ ๐ฆ, โ ๐ข `None`.
-
-โ๏ธ ๐โ ๐ ๐ โ ๐ข ๐ข โ, ๐ ๐ช ๐ซ ๐ฃ ๐ ๐ข ๐ฒ:
-
-{* ../../docs_src/query_params/tutorial005.py hl[6:7] *}
-
-๐ฅ ๐ข ๐ข `needy` โ ๐ข ๐ข ๐ `str`.
-
-๐ฅ ๐ ๐ ๐ ๐ฅ ๐ ๐:
-
-```
-http://127.0.0.1:8000/items/foo-item
-```
-
-...๐ต โ โ ๐ข `needy`, ๐ ๐ ๐ โ ๐:
-
-```JSON
-{
- "detail": [
- {
- "loc": [
- "query",
- "needy"
- ],
- "msg": "field required",
- "type": "value_error.missing"
- }
- ]
-}
-```
-
-`needy` ๐ ๐ข, ๐ ๐ ๐ช โ โซ๏ธ ๐:
-
-```
-http://127.0.0.1:8000/items/foo-item?needy=sooooneedy
-```
-
-...๐ ๐ ๐ท:
-
-```JSON
-{
- "item_id": "foo-item",
- "needy": "sooooneedy"
-}
-```
-
-& โ๏ธ, ๐ ๐ช ๐ฌ ๐ข โ, โ๏ธ ๐ข ๐ฒ, & ๐ ๐ฆ:
-
-{* ../../docs_src/query_params/tutorial006.py hl[10] *}
-
-๐ ๐ผ, ๐ค 3๏ธโฃ ๐ข ๐ข:
-
-* `needy`, โ `str`.
-* `skip`, `int` โฎ๏ธ ๐ข ๐ฒ `0`.
-* `limit`, ๐ฆ `int`.
-
-/// tip
-
-๐ ๐ช โ๏ธ `Enum`โ ๐ ๐ โฎ๏ธ [โก ๐ข](path-params.md#_7){.internal-link target=_blank}.
-
-///
diff --git a/docs/em/docs/tutorial/request-files.md b/docs/em/docs/tutorial/request-files.md
deleted file mode 100644
index c3bdeafd4..000000000
--- a/docs/em/docs/tutorial/request-files.md
+++ /dev/null
@@ -1,172 +0,0 @@
-# ๐จ ๐
-
-๐ ๐ช ๐ฌ ๐ ๐ ๐ฉโ๐ป โ๏ธ `File`.
-
-/// info
-
-๐จ ๐ ๐, ๐ฅ โ `python-multipart`.
-
-๐คถ โ. `pip install python-multipart`.
-
-๐ โฉ๏ธ ๐ ๐ ๐จ "๐จ ๐ฝ".
-
-///
-
-## ๐ `File`
-
-๐ `File` & `UploadFile` โช๏ธโก๏ธ `fastapi`:
-
-{* ../../docs_src/request_files/tutorial001.py hl[1] *}
-
-## ๐ฌ `File` ๐ข
-
-โ ๐ ๐ข ๐ ๐ ๐ ๐ `Body` โ๏ธ `Form`:
-
-{* ../../docs_src/request_files/tutorial001.py hl[7] *}
-
-/// info
-
-`File` ๐ ๐ ๐ ๐ โช๏ธโก๏ธ `Form`.
-
-โ๏ธ ๐ญ ๐ ๐โ ๐ ๐ `Query`, `Path`, `File` & ๐ โช๏ธโก๏ธ `fastapi`, ๐ ๐ค ๐ข ๐ ๐จ ๐ ๐.
-
-///
-
-/// tip
-
-๐ฃ ๐ ๐ช, ๐ ๐ช โ๏ธ `File`, โฉ๏ธ โช ๐ข ๐ ๐ฌ ๐ข ๐ข โ๏ธ ๐ช (๐ป) ๐ข.
-
-///
-
-๐ ๐ ๐ "๐จ ๐ฝ".
-
-๐ฅ ๐ ๐ฃ ๐ ๐ *โก ๐ ๏ธ ๐ข* ๐ข `bytes`, **FastAPI** ๐ โ ๐ ๐ & ๐ ๐ ๐จ ๐ `bytes`.
-
-โ๏ธ ๐คฏ ๐ ๐ โ ๐ ๐ ๐ ๐ ๐ช ๐พ. ๐ ๐ ๐ท ๐ ๐คช ๐.
-
-โ๏ธ ๐ค ๐ ๐ผ โ ๐ ๐ช ๐ฐ โช๏ธโก๏ธ โ๏ธ `UploadFile`.
-
-## ๐ ๐ข โฎ๏ธ `UploadFile`
-
-๐ฌ ๐ ๐ข โฎ๏ธ ๐ `UploadFile`:
-
-{* ../../docs_src/request_files/tutorial001.py hl[12] *}
-
-โ๏ธ `UploadFile` โ๏ธ ๐ ๐ ๐คญ `bytes`:
-
-* ๐ ๐ซ โ๏ธ โ๏ธ `File()` ๐ข ๐ฒ ๐ข.
-* โซ๏ธ โ๏ธ "๐งต" ๐:
- * ๐ ๐ช ๐พ ๐ ๐ ๐ ๐, & โฎ๏ธ ๐ถโโ๏ธ ๐ ๐ โซ๏ธ ๐ ๐ช ๐พ.
-* ๐ โ ๐ โซ๏ธ ๐ ๐ท ๐ โญ ๐ ๐ ๐ผ, ๐น, โญ ๐ฑ, โ๏ธ. ๐ต ๐ฉ ๐ ๐พ.
-* ๐ ๐ช ๐ค ๐ โช๏ธโก๏ธ ๐ ๐.
-* โซ๏ธ โ๏ธ ๐-๐ `async` ๐ข.
-* โซ๏ธ ๐ฆ โ ๐ `SpooledTemporaryFile` ๐ ๐ ๐ ๐ช ๐ถโโ๏ธ ๐ ๐ ๐ ๐ โ ๐-๐ ๐.
-
-### `UploadFile`
-
-`UploadFile` โ๏ธ ๐ ๐ข:
-
-* `filename`: `str` โฎ๏ธ โฎ๏ธ ๐ ๐ ๐ ๐ (โ
`myimage.jpg`).
-* `content_type`: `str` โฎ๏ธ ๐ ๐ (๐ ๐ / ๐ป ๐) (โ
`image/jpeg`).
-* `file`: `SpooledTemporaryFile` ( ๐-๐ ๐). ๐ โ ๐ ๐ ๐ ๐ ๐ช ๐ถโโ๏ธ ๐ ๐ ๐ข โ๏ธ ๐ ๐ โ "๐-๐" ๐.
-
-`UploadFile` โ๏ธ ๐ `async` ๐ฉโ๐ฌ. ๐ซ ๐ ๐ค ๐ ๐ ๐ฉโ๐ฌ ๐ (โ๏ธ ๐ `SpooledTemporaryFile`).
-
-* `write(data)`: โ `data` (`str` โ๏ธ `bytes`) ๐.
-* `read(size)`: โ `size` (`int`) ๐ข/๐ฆน ๐.
-* `seek(offset)`: ๐ถ ๐ข ๐ง `offset` (`int`) ๐.
- * ๐คถ โ., `await myfile.seek(0)` ๐ ๐ถ โถ๏ธ ๐.
- * ๐ โด๏ธ โ ๐ฅ ๐ ๐ `await myfile.read()` ๐ & โคด๏ธ ๐ช โ ๐ ๐.
-* `close()`: ๐ ๐.
-
-๐ ๐ซ ๐ฉโ๐ฌ `async` ๐ฉโ๐ฌ, ๐ ๐ช "โ" ๐ซ.
-
-๐ผ, ๐ `async` *โก ๐ ๏ธ ๐ข* ๐ ๐ช ๐ค ๐ โฎ๏ธ:
-
-```Python
-contents = await myfile.read()
-```
-
-๐ฅ ๐ ๐ ๐ `def` *โก ๐ ๏ธ ๐ข*, ๐ ๐ช ๐ `UploadFile.file` ๐, ๐ผ:
-
-```Python
-contents = myfile.file.read()
-```
-
-/// note | `async` ๐ก โน
-
-๐โ ๐ โ๏ธ `async` ๐ฉโ๐ฌ, **FastAPI** ๐ ๐ ๐ฉโ๐ฌ ๐งต & โ ๐ซ.
-
-///
-
-/// note | ๐ ๐ก โน
-
-**FastAPI**'โ `UploadFile` ๐ ๐ โช๏ธโก๏ธ **๐**'โ `UploadFile`, โ๏ธ ๐ฎ ๐ช ๐ โ โซ๏ธ ๐ โฎ๏ธ **Pydantic** & ๐ ๐ FastAPI.
-
-///
-
-## โซ๏ธโ "๐จ ๐ฝ"
-
-๐ ๐ธ ๐จ (``) ๐จ ๐ฝ ๐ฝ ๐ โ๏ธ "๐" ๐ข ๐ ๐, โซ๏ธ ๐ โช๏ธโก๏ธ ๐ป.
-
-**FastAPI** ๐ โ ๐ญ โ ๐ ๐ โช๏ธโก๏ธ โถ๏ธ๏ธ ๐ฅ โฉ๏ธ ๐ป.
-
-/// note | ๐ก โน
-
-๐ โช๏ธโก๏ธ ๐จ ๐ ๐ โ๏ธ "๐ป ๐" `application/x-www-form-urlencoded` ๐โ โซ๏ธ ๐ซ ๐ ๐.
-
-โ๏ธ ๐โ ๐จ ๐ ๐, โซ๏ธ ๐ `multipart/form-data`. ๐ฅ ๐ โ๏ธ `File`, **FastAPI** ๐ ๐ญ โซ๏ธ โ๏ธ ๐ค ๐ โช๏ธโก๏ธ โ ๐ ๐ช.
-
-๐ฅ ๐ ๐ โ ๐ ๐ ๐ ๐ข & ๐จ ๐, ๐ณ ๐ ๐ธ ๐ฉบ POST.
-
-///
-
-/// warning
-
-๐ ๐ช ๐ฃ ๐ `File` & `Form` ๐ข *โก ๐ ๏ธ*, โ๏ธ ๐ ๐ช ๐ซ ๐ฃ `Body` ๐ ๐ ๐ โ ๐จ ๐ป, ๐จ ๐ โ๏ธ ๐ช ๐ โ๏ธ `multipart/form-data` โฉ๏ธ `application/json`.
-
-๐ ๐ซ ๐ซ **FastAPI**, โซ๏ธ ๐ ๐บ๐ธ๐ ๐ ๏ธ.
-
-///
-
-## ๐ฆ ๐ ๐
-
-๐ ๐ช โ ๐ ๐ฆ โ๏ธ ๐ฉ ๐ โ & โ ๐ข ๐ฒ `None`:
-
-{* ../../docs_src/request_files/tutorial001_02.py hl[9,17] *}
-
-## `UploadFile` โฎ๏ธ ๐ ๐
-
-๐ ๐ช โ๏ธ `File()` โฎ๏ธ `UploadFile`, ๐ผ, โ ๐ ๐:
-
-{* ../../docs_src/request_files/tutorial001_03.py hl[13] *}
-
-## ๐ ๐ ๐
-
-โซ๏ธ ๐ช ๐ ๐ ๐ ๐ ๐ฐ.
-
-๐ซ ๐ ๐จโ๐ผ ๐ "๐จ ๐" ๐จ โ๏ธ "๐จ ๐ฝ".
-
-โ๏ธ ๐, ๐ฃ ๐ `bytes` โ๏ธ `UploadFile`:
-
-{* ../../docs_src/request_files/tutorial002.py hl[10,15] *}
-
-๐ ๐ ๐จ, ๐ฃ, `list` `bytes` โ๏ธ `UploadFile`โ.
-
-/// note | ๐ก โน
-
-๐ ๐ช โ๏ธ `from starlette.responses import HTMLResponse`.
-
-**FastAPI** ๐ ๐ `starlette.responses` `fastapi.responses` ๐ช ๐, ๐ฉโ๐ป. โ๏ธ ๐
๐ช ๐จ ๐ ๐ โช๏ธโก๏ธ ๐.
-
-///
-
-### ๐ ๐ ๐ โฎ๏ธ ๐ ๐
-
-& ๐ ๐ โญ, ๐ ๐ช โ๏ธ `File()` โ ๐ ๐ข, `UploadFile`:
-
-{* ../../docs_src/request_files/tutorial003.py hl[18] *}
-
-## ๐
-
-โ๏ธ `File`, `bytes`, & `UploadFile` ๐ฃ ๐ ๐ ๐จ, ๐จ ๐จ ๐ฝ.
diff --git a/docs/em/docs/tutorial/request-forms-and-files.md b/docs/em/docs/tutorial/request-forms-and-files.md
deleted file mode 100644
index 680b1a96a..000000000
--- a/docs/em/docs/tutorial/request-forms-and-files.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# ๐จ ๐จ & ๐
-
-๐ ๐ช ๐ฌ ๐ & ๐จ ๐ ๐ ๐ฐ โ๏ธ `File` & `Form`.
-
-/// info
-
-๐จ ๐ ๐ & /โ๏ธ ๐จ ๐, ๐ฅ โ `python-multipart`.
-
-๐คถ โ. `pip install python-multipart`.
-
-///
-
-## ๐ `File` & `Form`
-
-{* ../../docs_src/request_forms_and_files/tutorial001.py hl[1] *}
-
-## ๐ฌ `File` & `Form` ๐ข
-
-โ ๐ & ๐จ ๐ข ๐ ๐ ๐ ๐ `Body` โ๏ธ `Query`:
-
-{* ../../docs_src/request_forms_and_files/tutorial001.py hl[8] *}
-
-๐ & ๐จ ๐ ๐ ๐ ๐จ ๐ & ๐ ๐ ๐จ ๐ & ๐จ ๐.
-
-& ๐ ๐ช ๐ฃ ๐ `bytes` & `UploadFile`.
-
-/// warning
-
-๐ ๐ช ๐ฃ ๐ `File` & `Form` ๐ข *โก ๐ ๏ธ*, โ๏ธ ๐ ๐ช ๐ซ ๐ฃ `Body` ๐ ๐ ๐ โ ๐จ ๐ป, ๐จ ๐ โ๏ธ ๐ช ๐ โ๏ธ `multipart/form-data` โฉ๏ธ `application/json`.
-
-๐ ๐ซ ๐ซ **FastAPI**, โซ๏ธ ๐ ๐บ๐ธ๐ ๐ ๏ธ.
-
-///
-
-## ๐
-
-โ๏ธ `File` & `Form` ๐ฏโโ๏ธ ๐โ ๐ ๐ช ๐จ ๐ฝ & ๐ ๐ ๐จ.
diff --git a/docs/em/docs/tutorial/request-forms.md b/docs/em/docs/tutorial/request-forms.md
deleted file mode 100644
index 1cc1ea5dc..000000000
--- a/docs/em/docs/tutorial/request-forms.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# ๐จ ๐ฝ
-
-๐โ ๐ ๐ช ๐จ ๐จ ๐ โฉ๏ธ ๐ป, ๐ ๐ช โ๏ธ `Form`.
-
-/// info
-
-โ๏ธ ๐จ, ๐ฅ โ `python-multipart`.
-
-๐คถ โ. `pip install python-multipart`.
-
-///
-
-## ๐ `Form`
-
-๐ `Form` โช๏ธโก๏ธ `fastapi`:
-
-{* ../../docs_src/request_forms/tutorial001.py hl[1] *}
-
-## ๐ฌ `Form` ๐ข
-
-โ ๐จ ๐ข ๐ ๐ ๐ ๐ `Body` โ๏ธ `Query`:
-
-{* ../../docs_src/request_forms/tutorial001.py hl[7] *}
-
-๐ผ, 1๏ธโฃ ๐ Oauth2๏ธโฃ ๐ง ๐ช โ๏ธ (๐ค "๐ ๐ง") โซ๏ธ โ ๐จ `username` & `password` ๐จ ๐.
-
-๐ ๐ ๐ โซ๏ธโ ๐ `username` & `password`, & ๐จ ๐จ ๐, ๐ซ ๐ป.
-
-โฎ๏ธ `Form` ๐ ๐ช ๐ฃ ๐ ๐ณ โฎ๏ธ `Body` (& `Query`, `Path`, `Cookie`), ๐ ๐ฌ, ๐ผ, ๐ (โ
`user-name` โฉ๏ธ `username`), โ๏ธ.
-
-/// info
-
-`Form` ๐ ๐ ๐ ๐ โช๏ธโก๏ธ `Body`.
-
-///
-
-/// tip
-
-๐ฃ ๐จ ๐ช, ๐ ๐ช โ๏ธ `Form` ๐ฏ, โฉ๏ธ ๐ต โซ๏ธ ๐ข ๐ ๐ฌ ๐ข ๐ข โ๏ธ ๐ช (๐ป) ๐ข.
-
-///
-
-## ๐ "๐จ ๐"
-
-๐ ๐ธ ๐จ (``) ๐จ ๐ฝ ๐ฝ ๐ โ๏ธ "๐" ๐ข ๐ ๐, โซ๏ธ ๐ โช๏ธโก๏ธ ๐ป.
-
-**FastAPI** ๐ โ ๐ญ โ ๐ ๐ โช๏ธโก๏ธ โถ๏ธ๏ธ ๐ฅ โฉ๏ธ ๐ป.
-
-/// note | ๐ก โน
-
-๐ โช๏ธโก๏ธ ๐จ ๐ ๐ โ๏ธ "๐ป ๐" `application/x-www-form-urlencoded`.
-
-โ๏ธ ๐โ ๐จ ๐ ๐, โซ๏ธ ๐ `multipart/form-data`. ๐ ๐ โ ๐ ๐ ๐ โญ ๐.
-
-๐ฅ ๐ ๐ โ ๐ ๐ ๐ ๐ข & ๐จ ๐, ๐ณ ๐ ๐ธ ๐ฉบ POST.
-
-///
-
-/// warning
-
-๐ ๐ช ๐ฃ ๐ `Form` ๐ข *โก ๐ ๏ธ*, โ๏ธ ๐ ๐ช ๐ซ ๐ฃ `Body` ๐ ๐ ๐ โ ๐จ ๐ป, ๐จ ๐ โ๏ธ ๐ช ๐ โ๏ธ `application/x-www-form-urlencoded` โฉ๏ธ `application/json`.
-
-๐ ๐ซ ๐ซ **FastAPI**, โซ๏ธ ๐ ๐บ๐ธ๐ ๐ ๏ธ.
-
-///
-
-## ๐
-
-โ๏ธ `Form` ๐ฃ ๐จ ๐ฝ ๐ข ๐ข.
diff --git a/docs/em/docs/tutorial/response-model.md b/docs/em/docs/tutorial/response-model.md
deleted file mode 100644
index 477376458..000000000
--- a/docs/em/docs/tutorial/response-model.md
+++ /dev/null
@@ -1,340 +0,0 @@
-# ๐จ ๐ท - ๐จ ๐
-
-๐ ๐ช ๐ฃ ๐ โ๏ธ ๐จ โ *โก ๐ ๏ธ ๐ข* **๐จ ๐**.
-
-๐ ๐ช โ๏ธ **๐ โ** ๐ ๐ ๐ ๐ ๐ข ๐ฝ ๐ข **๐ข**, ๐ ๐ช โ๏ธ Pydantic ๐ท, ๐, ๐, ๐ ๐ฒ ๐ ๐ข, ๐ป, โ๏ธ.
-
-{* ../../docs_src/response_model/tutorial001_01.py hl[18,23] *}
-
-FastAPI ๐ โ๏ธ ๐ ๐จ ๐:
-
-* **โ** ๐จ ๐ฝ.
- * ๐ฅ ๐ฝ โ (โ
๐ โ ๐), โซ๏ธ โ ๐ *๐* ๐ฑ ๐ ๐, ๐ซ ๐ฌ โซ๏ธโ โซ๏ธ ๐, & โซ๏ธ ๐ ๐จ ๐ฝ โ โฉ๏ธ ๐ฌ โ ๐ฝ. ๐ ๐ ๐ & ๐ ๐ฉโ๐ป ๐ช ๐ฏ ๐ ๐ซ ๐ ๐จ ๐ฝ & ๐ฝ ๐ ๐.
-* ๐ฎ **๐ป ๐** ๐จ, ๐ *โก ๐ ๏ธ*.
- * ๐ ๐ โ๏ธ **๐ง ๐ฉบ**.
- * โซ๏ธ ๐ โ๏ธ ๐ง ๐ฉโ๐ป ๐ โก ๐งฐ.
-
-โ๏ธ ๐ ๐ฅ:
-
-* โซ๏ธ ๐ **๐ & โฝ** ๐ข ๐ โซ๏ธโ ๐ฌ ๐จ ๐.
- * ๐ โด๏ธ โ **๐โโ**, ๐ฅ ๐ ๐ ๐
๐ ๐.
-
-## `response_model` ๐ข
-
-๐ค ๐ผ ๐โ ๐ ๐ช โ๏ธ ๐ ๐จ ๐ฝ ๐ ๐ซ โซ๏ธโ โซ๏ธโ ๐ ๐ฃ.
-
-๐ผ, ๐ ๐ช ๐ **๐จ ๐** โ๏ธ ๐ฝ ๐, โ๏ธ **๐ฃ โซ๏ธ Pydantic ๐ท**. ๐ ๐ Pydantic ๐ท ๐ ๐ ๐ฝ ๐งพ, ๐ฌ, โ๏ธ. ๐ ๐ ๐ ๐จ (โ
๐ โ๏ธ ๐ฝ ๐).
-
-๐ฅ ๐ ๐ฎ ๐จ ๐ โ, ๐งฐ & ๐จโ๐จ ๐ ๐ญ โฎ๏ธ (โ) โ ๐ฌ ๐ ๐ ๐ ๐ข ๐ฌ ๐ (โ
#๏ธโฃ) ๐ ๐ โช๏ธโก๏ธ โซ๏ธโ ๐ ๐ฃ (โ
Pydantic ๐ท).
-
-๐ ๐ผ, ๐ ๐ช โ๏ธ *โก ๐ ๏ธ ๐จโ๐จ* ๐ข `response_model` โฉ๏ธ ๐จ ๐.
-
-๐ ๐ช โ๏ธ `response_model` ๐ข ๐ *โก ๐ ๏ธ*:
-
-* `@app.get()`
-* `@app.post()`
-* `@app.put()`
-* `@app.delete()`
-* โ๏ธ.
-
-{* ../../docs_src/response_model/tutorial001.py hl[17,22,24:27] *}
-
-/// note
-
-๐ ๐ `response_model` ๐ข "๐จโ๐จ" ๐ฉโ๐ฌ (`get`, `post`, โ๏ธ). ๐ซ ๐ *โก ๐ ๏ธ ๐ข*, ๐ ๐ ๐ข & ๐ช.
-
-///
-
-`response_model` ๐จ ๐ ๐ ๐ ๐ ๐ฃ Pydantic ๐ท ๐,, โซ๏ธ ๐ช Pydantic ๐ท, โ๏ธ โซ๏ธ ๐ช, โ
`list` Pydantic ๐ท, ๐ `List[Item]`.
-
-FastAPI ๐ โ๏ธ ๐ `response_model` ๐ ๐ฝ ๐งพ, ๐ฌ, โ๏ธ. & **๐ & โฝ ๐ข ๐** ๐ฎ ๐ ๐.
-
-/// tip
-
-๐ฅ ๐ โ๏ธ โ ๐ โ
๐ ๐จโ๐จ, โ, โ๏ธ, ๐ ๐ช ๐ฃ ๐ข ๐จ ๐ `Any`.
-
-๐ ๐ ๐ ๐ฌ ๐จโ๐จ ๐ ๐ ๐ซ ๐ฌ ๐ณ. โ๏ธ FastAPI ๐ ๐ฝ ๐งพ, ๐ฌ, ๐ฅ, โ๏ธ. โฎ๏ธ `response_model`.
-
-///
-
-### `response_model` ๐ซ
-
-๐ฅ ๐ ๐ฃ ๐ฏโโ๏ธ ๐จ ๐ & `response_model`, `response_model` ๐ โ ๐ซ & โ๏ธ FastAPI.
-
-๐ ๐ ๐ ๐ช ๐ฎ โ ๐ โ ๐ ๐ข ๐โ ๐ ๐ฌ ๐ ๐ ๐ ๐จ ๐ท, โ๏ธ ๐จโ๐จ & ๐งฐ ๐ โ. & ๐ ๐ช โ๏ธ FastAPI ๐ฝ ๐ฌ, ๐งพ, โ๏ธ. โ๏ธ `response_model`.
-
-๐ ๐ช โ๏ธ `response_model=None` โ ๐ ๐จ ๐ท ๐ *โก ๐ ๏ธ*, ๐ 5๏ธโฃ๐ ๐ช โซ๏ธ ๐ฅ ๐ โ ๐ โ ๐ ๐ ๐ซ โ Pydantic ๐, ๐ ๐ ๐ ๐ผ ๐ 1๏ธโฃ ๐ ๐.
-
-## ๐จ ๐ ๐ข ๐ฝ
-
-๐ฅ ๐ฅ ๐ฃ `UserIn` ๐ท, โซ๏ธ ๐ ๐ ๐ข ๐:
-
-{* ../../docs_src/response_model/tutorial002.py hl[9,11] *}
-
-/// info
-
-โ๏ธ `EmailStr`, ๐ฅ โ `email-validator`.
-
-๐คถ โ. `pip install email-validator`
-โ๏ธ `pip install pydantic[email]`.
-
-///
-
-& ๐ฅ โ๏ธ ๐ ๐ท ๐ฃ ๐ ๐ข & ๐ ๐ท ๐ฃ ๐ ๐ข:
-
-{* ../../docs_src/response_model/tutorial002.py hl[18] *}
-
-๐, ๐โ ๐ฅ ๐ ๐ฉโ๐ป โฎ๏ธ ๐, ๐ ๏ธ ๐ ๐จ ๐ ๐ ๐จ.
-
-๐ ๐ผ, โซ๏ธ ๐ช ๐ซ โ , โฉ๏ธ โซ๏ธ ๐ ๐ฉโ๐ป ๐จ ๐.
-
-โ๏ธ ๐ฅ ๐ฅ โ๏ธ ๐ ๐ท โ1๏ธโฃ *โก ๐ ๏ธ*, ๐ฅ ๐ช ๐จ ๐ ๐ฉโ๐ป ๐ ๐ ๐ฉโ๐ป.
-
-/// danger
-
-๐
๐ช โ
๐ ๐ฉโ๐ป โ๏ธ ๐จ โซ๏ธ ๐จ ๐ ๐, ๐ฅ ๐ ๐ญ ๐ โ & ๐ ๐ญ โซ๏ธโ ๐ ๐จ.
-
-///
-
-## ๐ฎ ๐ข ๐ท
-
-๐ฅ ๐ช โฉ๏ธ โ ๐ข ๐ท โฎ๏ธ ๐ข ๐ & ๐ข ๐ท ๐ต โซ๏ธ:
-
-{* ../../docs_src/response_model/tutorial003.py hl[9,11,16] *}
-
-๐ฅ, โ๏ธ ๐ *โก ๐ ๏ธ ๐ข* ๐ฌ ๐ ๐ข ๐ฉโ๐ป ๐ ๐ ๐:
-
-{* ../../docs_src/response_model/tutorial003.py hl[24] *}
-
-...๐ฅ ๐ฃ `response_model` ๐ ๐ท `UserOut`, ๐ ๐ซ ๐ ๐:
-
-{* ../../docs_src/response_model/tutorial003.py hl[22] *}
-
-, **FastAPI** ๐ โ ๐
๐ฅ ๐
๐ ๐ฝ ๐ ๐ซ ๐ฃ ๐ข ๐ท (โ๏ธ Pydantic).
-
-### `response_model` โ๏ธ ๐จ ๐
-
-๐ ๐ผ, โฉ๏ธ 2๏ธโฃ ๐ท ๐, ๐ฅ ๐ฅ โ ๐ข ๐จ ๐ `UserOut`, ๐จโ๐จ & ๐งฐ ๐ ๐ญ ๐ ๐ฅ ๐ฌ โ ๐, ๐ ๐ ๐.
-
-๐ โซ๏ธโ ๐ ๐ผ ๐ฅ โ๏ธ ๐ฃ โซ๏ธ `response_model` ๐ข.
-
-...โ๏ธ ๐ฃ ๐ ๐ ๐ โ โ ๐.
-
-## ๐จ ๐ & ๐ฝ ๐ฅ
-
-โก๏ธ ๐ฃ โช๏ธโก๏ธ โฎ๏ธ ๐ผ. ๐ฅ ๐ **โ ๐ข โฎ๏ธ 1๏ธโฃ ๐** โ๏ธ ๐จ ๐ณ ๐ ๐ **๐
๐ฝ**.
-
-๐ฅ ๐ FastAPI ๐ง **๐ฅ** ๐ โ๏ธ ๐จ ๐ท.
-
-โฎ๏ธ ๐ผ, โฉ๏ธ ๐ ๐, ๐ฅ โ๏ธ โ๏ธ `response_model` ๐ข. โ๏ธ ๐ โ ๐ ๐ฅ ๐ซ ๐ค ๐โ๐ฆบ โช๏ธโก๏ธ ๐จโ๐จ & ๐งฐ โ
๐ข ๐จ ๐.
-
-โ๏ธ ๐
๐ผ ๐โ ๐ฅ ๐ช ๐ณ ๐ ๐, ๐ฅ ๐ ๐ท **โฝ/โ** ๐ ๐ ๐ผ.
-
-& ๐ ๐ผ, ๐ฅ ๐ช โ๏ธ ๐ & ๐งฌ โ ๐ ๐ข **๐ โ** ๐ค ๐ ๐โ๐ฆบ ๐จโ๐จ & ๐งฐ, & ๐ค FastAPI **๐ฝ ๐ฅ**.
-
-{* ../../docs_src/response_model/tutorial003_01.py hl[9:13,15:16,20] *}
-
-โฎ๏ธ ๐, ๐ฅ ๐ค ๐ญ ๐โ๐ฆบ, โช๏ธโก๏ธ ๐จโ๐จ & โ ๐ ๐ โ โ ๐, โ๏ธ ๐ฅ ๐ค ๐ฝ ๐ฅ โช๏ธโก๏ธ FastAPI.
-
-โ ๐จ ๐ ๐ท โ โก๏ธ โ
๐ ๐
. ๐ถ
-
-### ๐ โ & ๐ญ
-
-๐ฅ โก๏ธ ๐ โ ๐จโ๐จ, โ & ๐ ๐งฐ ๐ ๐ ๐.
-
-`BaseUser` โ๏ธ ๐งข ๐. โคด๏ธ `UserIn` ๐ โช๏ธโก๏ธ `BaseUser` & ๐ฎ `password` ๐,, โซ๏ธ ๐ ๐ ๐ ๐ โช๏ธโก๏ธ ๐ฏโโ๏ธ ๐ท.
-
-๐ฅ โ ๐ข ๐จ ๐ `BaseUser`, โ๏ธ ๐ฅ ๐ค ๐ฌ `UserIn` ๐.
-
-๐จโ๐จ, โ, & ๐ ๐งฐ ๐ ๐ซ ๐ญ ๐ ๐ โฉ๏ธ, โจ โ, `UserIn` ๐ฟ `BaseUser`, โ โ โซ๏ธ *โ* ๐ ๐โ โซ๏ธโ โ ๐ณ ๐ `BaseUser`.
-
-### FastAPI ๐ฝ ๐ฅ
-
-๐, FastAPI, โซ๏ธ ๐ ๐ ๐จ ๐ & โ ๐ญ ๐ โซ๏ธโ ๐ ๐จ ๐ **๐ด** ๐ ๐ ๐ฃ ๐.
-
-FastAPI ๐จ ๐ ๐ ๐ โฎ๏ธ Pydantic โ ๐ญ ๐ ๐ ๐ ๐ซ ๐ ๐งฌ ๐ซ โ๏ธ ๐จ ๐ฝ ๐ฅ, โช ๐ ๐ช ๐ ๐ ๐ฌ ๐
๐
๐ฝ ๐ โซ๏ธโ ๐ ๐.
-
-๐ ๐, ๐ ๐ช ๐ค ๐ ๐ฏโโ๏ธ ๐: ๐ โ โฎ๏ธ **๐ญ ๐โ๐ฆบ** & **๐ฝ ๐ฅ**.
-
-## ๐ โซ๏ธ ๐ฉบ
-
-๐โ ๐ ๐ ๐ง ๐ฉบ, ๐ ๐ช โ
๐ ๐ข ๐ท & ๐ข ๐ท ๐ ๐ฏโโ๏ธ โ๏ธ ๐ซ ๐ ๐ป ๐:
-
-
-
-& ๐ฏโโ๏ธ ๐ท ๐ โ๏ธ ๐ ๐ ๏ธ ๐งพ:
-
-
-
-## ๐ ๐จ ๐ โ
-
-๐ค 5๏ธโฃ๐ ๐ผ ๐โ ๐ ๐จ ๐ณ ๐ ๐ซ โ Pydantic ๐ & ๐ โ โซ๏ธ ๐ข, ๐ด ๐ค ๐โ๐ฆบ ๐ ๐ญ (๐จโ๐จ, โ, โ๏ธ).
-
-### ๐จ ๐จ ๐
-
-๐ โ ๐ผ ๐ [๐ฌ ๐จ ๐ ๐ฌ โช ๐ง ๐ฉบ](../advanced/response-directly.md){.internal-link target=_blank}.
-
-{* ../../docs_src/response_model/tutorial003_02.py hl[8,10:11] *}
-
-๐ ๐
๐ผ ๐ต ๐ FastAPI โฉ๏ธ ๐จ ๐ โ ๐ (โ๏ธ ๐ฟ) `Response`.
-
-& ๐งฐ ๐ ๐ โฉ๏ธ ๐ฏโโ๏ธ `RedirectResponse` & `JSONResponse` ๐ฟ `Response`, ๐ โ โ.
-
-### โ ๐จ ๐ฟ
-
-๐ ๐ช โ๏ธ ๐ฟ `Response` ๐ โ:
-
-{* ../../docs_src/response_model/tutorial003_03.py hl[8:9] *}
-
-๐ ๐ ๐ท โฉ๏ธ `RedirectResponse` ๐ฟ `Response`, & FastAPI ๐ ๐ ๐ต ๐ ๐
๐ผ.
-
-### โ ๐จ ๐ โ
-
-โ๏ธ ๐โ ๐ ๐จ ๐ โ ๐ ๐ ๐ซ โ Pydantic ๐ (โ
๐ฝ ๐) & ๐ โ โซ๏ธ ๐ ๐ ๐ข, FastAPI ๐ ๐ โ Pydantic ๐จ ๐ท โช๏ธโก๏ธ ๐ ๐ โ, & ๐ โ.
-
-๐ ๐ ๐จ ๐ฅ ๐ โ๏ธ ๐ณ ๐ ๐ช๐บ ๐ ๐ ๐ ๐โ 1๏ธโฃ โ๏ธ ๐
๐ซ ๐ซ โ Pydantic ๐, ๐ผ ๐ ๐ โ ๐ถ:
-
-{* ../../docs_src/response_model/tutorial003_04.py hl[10] *}
-
-...๐ โ โฉ๏ธ ๐ โ ๐ซ Pydantic ๐ & ๐ซ ๐ `Response` ๐ โ๏ธ ๐ฟ, โซ๏ธ ๐ช๐บ (๐ 2๏ธโฃ) ๐ `Response` & `dict`.
-
-### โ ๐จ ๐ท
-
-โถ๏ธ โช๏ธโก๏ธ ๐ผ ๐, ๐ 5๏ธโฃ๐ ๐ซ ๐ โ๏ธ ๐ข ๐ฝ ๐ฌ, ๐งพ, ๐ฅ, โ๏ธ. ๐ ๐ญ FastAPI.
-
-โ๏ธ ๐ ๐ช ๐ ๐ง ๐จ ๐ โ ๐ข ๐ค ๐โ๐ฆบ โช๏ธโก๏ธ ๐งฐ ๐ ๐จโ๐จ & ๐ โ (โ
โ).
-
-๐ ๐ผ, ๐ ๐ช โ ๐จ ๐ท โก โ `response_model=None`:
-
-{* ../../docs_src/response_model/tutorial003_05.py hl[9] *}
-
-๐ ๐ โ FastAPI ๐ถ ๐จ ๐ท โก & ๐ ๐ ๐ ๐ช โ๏ธ ๐ ๐จ ๐ โ ๐ ๐ช ๐ต โซ๏ธ ๐ค ๐ FastAPI ๐ธ. ๐ถ
-
-## ๐จ ๐ท ๐ข ๐ข
-
-๐ ๐จ ๐ท ๐ช โ๏ธ ๐ข ๐ฒ, ๐:
-
-{* ../../docs_src/response_model/tutorial004.py hl[11,13:14] *}
-
-* `description: Union[str, None] = None` (โ๏ธ `str | None = None` ๐ 3๏ธโฃ.1๏ธโฃ0๏ธโฃ) โ๏ธ ๐ข `None`.
-* `tax: float = 10.5` โ๏ธ ๐ข `10.5`.
-* `tags: List[str] = []` ๐ข ๐ ๐: `[]`.
-
-โ๏ธ ๐ ๐ช ๐ ๐ซ ๐ซ โช๏ธโก๏ธ ๐ ๐ฅ ๐ซ ๐ซ ๐ค ๐ช.
-
-๐ผ, ๐ฅ ๐ โ๏ธ ๐ท โฎ๏ธ ๐ ๐ฆ ๐ข โ ๐ฝ, โ๏ธ ๐ ๐ซ ๐ ๐จ ๐ถ ๐ ๐ป ๐จ ๐ ๐ข ๐ฒ.
-
-### โ๏ธ `response_model_exclude_unset` ๐ข
-
-๐ ๐ช โ *โก ๐ ๏ธ ๐จโ๐จ* ๐ข `response_model_exclude_unset=True`:
-
-{* ../../docs_src/response_model/tutorial004.py hl[24] *}
-
-& ๐ ๐ข ๐ฒ ๐ ๐ซ ๐ ๐จ, ๐ด ๐ฒ ๐ค โ.
-
-, ๐ฅ ๐ ๐จ ๐จ ๐ *โก ๐ ๏ธ* ๐ฌ โฎ๏ธ ๐ `foo`, ๐จ (๐ซ โ
๐ข ๐ฒ) ๐:
-
-```JSON
-{
- "name": "Foo",
- "price": 50.2
-}
-```
-
-/// info
-
-FastAPI โ๏ธ Pydantic ๐ท `.dict()` โฎ๏ธ ๐ฎ `exclude_unset` ๐ข ๐ ๐.
-
-///
-
-/// info
-
-๐ ๐ช โ๏ธ:
-
-* `response_model_exclude_defaults=True`
-* `response_model_exclude_none=True`
-
-๐ฌ Pydantic ๐ฉบ `exclude_defaults` & `exclude_none`.
-
-///
-
-#### ๐ โฎ๏ธ ๐ฒ ๐ โฎ๏ธ ๐ข
-
-โ๏ธ ๐ฅ ๐ ๐ โ๏ธ ๐ฒ ๐ท ๐ โฎ๏ธ ๐ข ๐ฒ, ๐ ๐ฌ โฎ๏ธ ๐ `bar`:
-
-```Python hl_lines="3 5"
-{
- "name": "Bar",
- "description": "The bartenders",
- "price": 62,
- "tax": 20.2
-}
-```
-
-๐ซ ๐ ๐ ๐จ.
-
-#### ๐ โฎ๏ธ ๐ ๐ฒ ๐ข
-
-๐ฅ ๐ โ๏ธ ๐ ๐ฒ ๐ข ๐, ๐ ๐ฌ โฎ๏ธ ๐ `baz`:
-
-```Python hl_lines="3 5-6"
-{
- "name": "Baz",
- "description": None,
- "price": 50.2,
- "tax": 10.5,
- "tags": []
-}
-```
-
-FastAPI ๐ ๐ฅ (๐ค, Pydantic ๐ ๐ฅ) ๐ค ๐, โ๏ธ `description`, `tax`, & `tags` โ๏ธ ๐ ๐ฒ ๐ข, ๐ซ โ ๐ฏ (โฉ๏ธ โ โช๏ธโก๏ธ ๐ข).
-
-, ๐ซ ๐ ๐ ๐ป ๐จ.
-
-/// tip
-
-๐ ๐ ๐ข ๐ฒ ๐ช ๐ณ, ๐ซ ๐ด `None`.
-
-๐ซ ๐ช ๐ (`[]`), `float` `10.5`, โ๏ธ.
-
-///
-
-### `response_model_include` & `response_model_exclude`
-
-๐ ๐ช โ๏ธ *โก ๐ ๏ธ ๐จโ๐จ* ๐ข `response_model_include` & `response_model_exclude`.
-
-๐ซ โ `set` `str` โฎ๏ธ ๐ ๐ข ๐ (โ ๐) โ๏ธ ๐ซ (โ
๐).
-
-๐ ๐ช โ๏ธ โฉ โจ ๐ฅ ๐ โ๏ธ ๐ด 1๏ธโฃ Pydantic ๐ท & ๐ โ ๐ฝ โช๏ธโก๏ธ ๐ข.
-
-/// tip
-
-โ๏ธ โซ๏ธ ๐ โ๏ธ ๐ญ ๐, โ๏ธ ๐ ๐, โฉ๏ธ ๐ซ ๐ข.
-
-๐ โฉ๏ธ ๐ป ๐ ๐ ๐ ๐ฑ ๐ (& ๐ฉบ) ๐ 1๏ธโฃ ๐ ๐ท, ๐ฅ ๐ โ๏ธ `response_model_include` โ๏ธ `response_model_exclude` ๐ซ ๐ข.
-
-๐ โ `response_model_by_alias` ๐ ๐ท โก.
-
-///
-
-{* ../../docs_src/response_model/tutorial005.py hl[31,37] *}
-
-/// tip
-
-โ `{"name", "description"}` โ `set` โฎ๏ธ ๐ 2๏ธโฃ ๐ฒ.
-
-โซ๏ธ ๐ `set(["name", "description"])`.
-
-///
-
-#### โ๏ธ `list`โ โฉ๏ธ `set`โ
-
-๐ฅ ๐ ๐ญ โ๏ธ `set` & โ๏ธ `list` โ๏ธ `tuple` โฉ๏ธ, FastAPI ๐ ๐ โซ๏ธ `set` & โซ๏ธ ๐ ๐ท โ:
-
-{* ../../docs_src/response_model/tutorial006.py hl[31,37] *}
-
-## ๐
-
-โ๏ธ *โก ๐ ๏ธ ๐จโ๐จ* ๐ข `response_model` ๐ฌ ๐จ ๐ท & โด๏ธ ๐ ๐ข ๐ฝ โฝ ๐
.
-
-โ๏ธ `response_model_exclude_unset` ๐จ ๐ด ๐ฒ ๐ฏ โ.
diff --git a/docs/em/docs/tutorial/response-status-code.md b/docs/em/docs/tutorial/response-status-code.md
deleted file mode 100644
index 413ceb916..000000000
--- a/docs/em/docs/tutorial/response-status-code.md
+++ /dev/null
@@ -1,101 +0,0 @@
-# ๐จ ๐ ๐
-
-๐ ๐ ๐ ๐ช โ ๐จ ๐ท, ๐ ๐ช ๐ฃ ๐บ๐ธ๐ ๐ ๐ โ๏ธ ๐จ โฎ๏ธ ๐ข `status_code` ๐ *โก ๐ ๏ธ*:
-
-* `@app.get()`
-* `@app.post()`
-* `@app.put()`
-* `@app.delete()`
-* โ๏ธ.
-
-{* ../../docs_src/response_status_code/tutorial001.py hl[6] *}
-
-/// note
-
-๐ ๐ `status_code` ๐ข "๐จโ๐จ" ๐ฉโ๐ฌ (`get`, `post`, โ๏ธ). ๐ซ ๐ *โก ๐ ๏ธ ๐ข*, ๐ ๐ ๐ข & ๐ช.
-
-///
-
-`status_code` ๐ข ๐จ ๐ข โฎ๏ธ ๐บ๐ธ๐ ๐ ๐.
-
-/// info
-
-`status_code` ๐ช ๐ ๐จ `IntEnum`, โ
๐ `http.HTTPStatus`.
-
-///
-
-โซ๏ธ ๐:
-
-* ๐จ ๐ ๐ ๐ ๐จ.
-* ๐ โซ๏ธ โ
๐ ๐ ( & , ๐ฉโ๐ป ๐ข):
-
-
-
-/// note
-
-๐จ ๐ (๐ โญ ๐) ๐ฆ ๐ ๐จ ๐จ ๐ซ โ๏ธ ๐ช.
-
-FastAPI ๐ญ ๐, & ๐ ๐ญ ๐ ๐ฉบ ๐ ๐ต๐ธ ๐ค ๐
โโ ๐จ ๐ช.
-
-///
-
-## ๐ ๐บ๐ธ๐ ๐ ๐
-
-/// note
-
-๐ฅ ๐ โช ๐ญ โซ๏ธโ ๐บ๐ธ๐ ๐ ๐, ๐ถ โญ ๐.
-
-///
-
-๐บ๐ธ๐, ๐ ๐จ ๐ข ๐ ๐ 3๏ธโฃ 9๏ธโฃ ๐ ๐จ.
-
-๐ซ ๐ ๐ โ๏ธ ๐ ๐ ๐ค ๐ซ, โ๏ธ โ ๐ ๐ข.
-
-๐:
-
-* `100` & ๐ "โน". ๐ ๐ โ๏ธ ๐ซ ๐. ๐จ โฎ๏ธ ๐ซ ๐ ๐ ๐ซ๐ โ๏ธ ๐ช.
-* **`200`** & ๐ "๐" ๐จ. ๐ซ ๐ ๐ ๐ โ๏ธ ๐.
- * `200` ๐ข ๐ ๐, โ โ ๐ "๐".
- * โ1๏ธโฃ ๐ผ ๐ `201`, "โ". โซ๏ธ ๐ โ๏ธ โฎ๏ธ ๐ ๐ โบ ๐ฝ.
- * ๐ ๐ผ `204`, "๐
โโ ๐". ๐ ๐จ โ๏ธ ๐โ ๐ค ๐
โโ ๐ ๐จ ๐ฉโ๐ป, & ๐จ ๐ ๐ซ โ๏ธ ๐ช.
-* **`300`** & ๐ "โ". ๐จ โฎ๏ธ ๐ซ ๐ ๐ 5๏ธโฃ๐ โ๏ธ 5๏ธโฃ๐ ๐ซ โ๏ธ ๐ช, ๐ `304`, "๐ซ ๐", โ ๐ ๐ซ โ๏ธ 1๏ธโฃ.
-* **`400`** & ๐ "๐ฉโ๐ป โ" ๐จ. ๐ซ ๐ฅ ๐ ๐ ๐ ๐ฒ โ๏ธ ๐.
- * ๐ผ `404`, "๐ซ ๐" ๐จ.
- * ๐ โ โช๏ธโก๏ธ ๐ฉโ๐ป, ๐ ๐ช โ๏ธ `400`.
-* `500` & ๐ ๐ฝ โ. ๐ ๐ ๐
โ๏ธ ๐ซ ๐. ๐โ ๐ณ ๐ถ โ ๐ ๐ ๐ธ ๐, โ๏ธ ๐ฝ, โซ๏ธ ๐ ๐ ๐จ 1๏ธโฃ ๐ซ ๐ ๐.
-
-/// tip
-
-๐ญ ๐
๐ ๐ ๐ ๐ & โ ๐ โซ๏ธโ, โ
๐ ๐งพ ๐ ๐บ๐ธ๐ ๐ ๐.
-
-///
-
-## โจ ๐ญ ๐
-
-โก๏ธ ๐ โฎ๏ธ ๐ผ ๐:
-
-{* ../../docs_src/response_status_code/tutorial001.py hl[6] *}
-
-`201` ๐ ๐ "โ".
-
-โ๏ธ ๐ ๐ซ โ๏ธ โ โซ๏ธโ ๐ ๐ ๐ โ.
-
-๐ ๐ช โ๏ธ ๐ช ๐ข โช๏ธโก๏ธ `fastapi.status`.
-
-{* ../../docs_src/response_status_code/tutorial002.py hl[1,6] *}
-
-๐ซ ๐ช, ๐ซ ๐งโ๐คโ๐ง ๐ ๐ข, โ๏ธ ๐ ๐ ๐ ๐ช โ๏ธ ๐จโ๐จ ๐ ๐ ๐ซ:
-
-
-
-/// note | ๐ก โน
-
-๐ ๐ช โ๏ธ `from starlette import status`.
-
-**FastAPI** ๐ ๐ `starlette.status` `fastapi.status` ๐ช ๐, ๐ฉโ๐ป. โ๏ธ โซ๏ธ ๐ ๐ โช๏ธโก๏ธ ๐.
-
-///
-
-## ๐ ๐ข
-
-โช, [๐ง ๐ฉโ๐ป ๐ฆฎ](../advanced/response-change-status-code.md){.internal-link target=_blank}, ๐ ๐ ๐ โ ๐จ ๐ ๐ ๐ ๐ ๐ข ๐ ๐ฃ ๐ฅ.
diff --git a/docs/em/docs/tutorial/schema-extra-example.md b/docs/em/docs/tutorial/schema-extra-example.md
deleted file mode 100644
index 1bd314c51..000000000
--- a/docs/em/docs/tutorial/schema-extra-example.md
+++ /dev/null
@@ -1,110 +0,0 @@
-# ๐ฃ ๐จ ๐ผ ๐ฝ
-
-๐ ๐ช ๐ฃ ๐ผ ๐ฝ ๐ ๐ฑ ๐ช ๐จ.
-
-๐ฅ ๐ ๐ โซ๏ธ.
-
-## Pydantic `schema_extra`
-
-๐ ๐ช ๐ฃ `example` Pydantic ๐ท โ๏ธ `Config` & `schema_extra`, ๐ฌ Pydantic ๐ฉบ: ๐ ๐:
-
-{* ../../docs_src/schema_extra_example/tutorial001.py hl[15:23] *}
-
-๐ โ โน ๐ ๐ฎ-๐ข **๐ป ๐** ๐ ๐ท, & โซ๏ธ ๐ โ๏ธ ๐ ๏ธ ๐ฉบ.
-
-/// tip
-
-๐ ๐ช โ๏ธ ๐ โ โ ๐ป ๐ & ๐ฎ ๐ ๐ ๐ โ โน.
-
-๐ผ ๐ ๐ช โ๏ธ โซ๏ธ ๐ฎ ๐ ๐ธ ๐ฉโ๐ป ๐ข, โ๏ธ.
-
-///
-
-## `Field` ๐ โ
-
-๐โ โ๏ธ `Field()` โฎ๏ธ Pydantic ๐ท, ๐ ๐ช ๐ฃ โ โน **๐ป ๐** ๐ถโโ๏ธ ๐ ๐ โ โ ๐ข.
-
-๐ ๐ช โ๏ธ ๐ ๐ฎ `example` ๐ ๐:
-
-{* ../../docs_src/schema_extra_example/tutorial002.py hl[4,10:13] *}
-
-/// warning
-
-๐ง ๐คฏ ๐ ๐ โ โ ๐ถโโ๏ธ ๐ ๐ซ ๐ฎ ๐ ๐ฌ, ๐ด โ โน, ๐งพ ๐ฏ.
-
-///
-
-## `example` & `examples` ๐
-
-๐โ โ๏ธ ๐:
-
-* `Path()`
-* `Query()`
-* `Header()`
-* `Cookie()`
-* `Body()`
-* `Form()`
-* `File()`
-
-๐ ๐ช ๐ฃ ๐ฝ `example` โ๏ธ ๐ช `examples` โฎ๏ธ ๐ โน ๐ ๐ ๐ฎ **๐**.
-
-### `Body` โฎ๏ธ `example`
-
-๐ฅ ๐ฅ ๐ถโโ๏ธ `example` ๐ โ `Body()`:
-
-{* ../../docs_src/schema_extra_example/tutorial003.py hl[20:25] *}
-
-### ๐ผ ๐ฉบ ๐
-
-โฎ๏ธ ๐ ๐ฉโ๐ฌ ๐ โซ๏ธ ๐ ๐ ๐ ๐ `/docs`:
-
-
-
-### `Body` โฎ๏ธ ๐ `examples`
-
-๐ ๐ `example`, ๐ ๐ช ๐ถโโ๏ธ `examples` โ๏ธ `dict` โฎ๏ธ **๐ ๐ผ**, ๐ โฎ๏ธ โ โน ๐ ๐ ๐ฎ **๐** ๐โโ๏ธ.
-
-๐ `dict` ๐ฌ ๐ ๐ผ, & ๐ ๐ฒ โ1๏ธโฃ `dict`.
-
-๐ ๐ฏ ๐ผ `dict` `examples` ๐ช ๐:
-
-* `summary`: ๐ ๐ ๐ผ.
-* `description`: ๐ ๐ ๐ ๐ช ๐ โ โ.
-* `value`: ๐ โ ๐ผ ๐ฆ, โ
`dict`.
-* `externalValue`: ๐ `value`, ๐ โ ๐ผ. ๐ ๐ 5๏ธโฃ๐ ๐ซ ๐โ๐ฆบ ๐ ๐งฐ `value`.
-
-{* ../../docs_src/schema_extra_example/tutorial004.py hl[21:47] *}
-
-### ๐ผ ๐ฉบ ๐
-
-โฎ๏ธ `examples` ๐ฎ `Body()` `/docs` ๐ ๐ ๐:
-
-
-
-## ๐ก โน
-
-/// warning
-
-๐ ๐ถ ๐ก โน ๐ ๐ฉ **๐ป ๐** & **๐**.
-
-๐ฅ ๐ญ ๐ โช ๐ท ๐, ๐ ๐ช ๐ฅ, & ๐ ๐ฒ ๐ซ ๐ช ๐ โน, ๐ญ ๐ ๐ถ ๐ซ.
-
-///
-
-๐โ ๐ ๐ฎ ๐ผ ๐ Pydantic ๐ท, โ๏ธ `schema_extra` โ๏ธ `Field(example="something")` ๐ ๐ผ ๐ฎ **๐ป ๐** ๐ Pydantic ๐ท.
-
-& ๐ **๐ป ๐** Pydantic ๐ท ๐ **๐** ๐ ๐ ๏ธ, & โคด๏ธ โซ๏ธ โ๏ธ ๐ฉบ ๐.
-
-**๐ป ๐** ๐ซ ๐ค โ๏ธ ๐ `example` ๐ฉ. โฎ๏ธ โฌ ๐ป ๐ ๐ฌ ๐ `examples`, โ๏ธ ๐ 3๏ธโฃ.0๏ธโฃ.3๏ธโฃ โ๏ธ ๐ ๐ โฌ ๐ป ๐ ๐ ๐ซ โ๏ธ `examples`.
-
-, ๐ 3๏ธโฃ.0๏ธโฃ.3๏ธโฃ ๐ฌ ๐ฎ ๐ `example` ๐ โฌ **๐ป ๐** โซ๏ธ โ๏ธ, ๐ ๐ฏ (โ๏ธ โซ๏ธ ๐ `example`, ๐ซ `examples`), & ๐ โซ๏ธโ โ๏ธ ๐ ๏ธ ๐ฉบ ๐ (โ๏ธ ๐ฆ ๐).
-
-, ๐ `example` ๐ซ ๐ ๐ป ๐, โซ๏ธ ๐ ๐ ๐ โฌ ๐ป ๐, & ๐ โซ๏ธโ ๐ โ๏ธ ๐ฉบ ๐.
-
-โ๏ธ ๐โ ๐ โ๏ธ `example` โ๏ธ `examples` โฎ๏ธ ๐ ๐ ๐ (`Query()`, `Body()`, โ๏ธ.) ๐ ๐ผ ๐ซ ๐ฎ ๐ป ๐ ๐ ๐ฌ ๐ ๐ฝ (๐ซ ๐ ๐ โฌ ๐ป ๐), ๐ซ ๐ฎ ๐ *โก ๐ ๏ธ* ๐ ๐ (๐ ๐ ๐ ๐ โ๏ธ ๐ป ๐).
-
-`Path()`, `Query()`, `Header()`, & `Cookie()`, `example` โ๏ธ `examples` ๐ฎ ๐ ๐, `Parameter Object` (๐ง).
-
-& `Body()`, `File()`, & `Form()`, `example` โ๏ธ `examples` ๐ ๐ฎ ๐ ๐, `Request Body Object`, ๐ `content`, ๐ `Media Type Object` (๐ง).
-
-๐ ๐ โ, ๐ค ๐ โฌ ๐: **3๏ธโฃ.1๏ธโฃ.0๏ธโฃ**, โณ ๐. โซ๏ธ โ๏ธ ๐ โช ๐ป ๐ & ๐ ๐ ๏ธ โช๏ธโก๏ธ ๐ ๐ โฌ ๐ป ๐ โ, ๐ฑ โ โช๏ธโก๏ธ โฎ๏ธ โฌ ๐ป ๐, ๐ ๐ซ ๐คช ๐บ ๐. ๐, ๐ฆ ๐ โณ ๐ซ ๐โ๐ฆบ ๐ 3๏ธโฃ.1๏ธโฃ.0๏ธโฃ,, ๐, โซ๏ธ ๐ ๐ฃ โ๏ธ ๐ญ ๐.
diff --git a/docs/em/docs/tutorial/security/first-steps.md b/docs/em/docs/tutorial/security/first-steps.md
deleted file mode 100644
index 8fb459a65..000000000
--- a/docs/em/docs/tutorial/security/first-steps.md
+++ /dev/null
@@ -1,197 +0,0 @@
-# ๐โโ - ๐ฅ ๐
-
-โก๏ธ ๐ ๐ ๐ โ๏ธ ๐ **๐ฉโ๐ป** ๐ ๏ธ ๐.
-
-& ๐ โ๏ธ **๐ธ** โ1๏ธโฃ ๐ โ๏ธ ๐ โก ๐ ๐ (โ๏ธ ๐ฑ ๐ธ).
-
-& ๐ ๐ โ๏ธ ๐ ๐ธ ๐ โฎ๏ธ ๐ฉโ๐ป, โ๏ธ **๐** & **๐**.
-
-๐ฅ ๐ช โ๏ธ **Oauth2๏ธโฃ** ๐ ๐ โฎ๏ธ **FastAPI**.
-
-โ๏ธ โก๏ธ ๐ ๐ ๐ฐ ๐ ๐ ๐ ๐ง ๐ ๐ ๐ฅ ๐ โน ๐ ๐ช.
-
-โก๏ธ โ๏ธ ๐งฐ ๐ **FastAPI** ๐ต ๐โโ.
-
-## โ โซ๏ธ ๐
-
-โก๏ธ ๐ฅ โ๏ธ ๐ & ๐ โ โซ๏ธ ๐ท, & โคด๏ธ ๐ฅ ๐ ๐ ๐ ๐ค โซ๏ธโ ๐ฅ.
-
-## โ `main.py`
-
-๐ ๐ผ ๐ `main.py`:
-
-{* ../../docs_src/security/tutorial001.py *}
-
-## ๐ โซ๏ธ
-
-/// info
-
-๐ฅ โ `python-multipart`.
-
-๐คถ โ. `pip install python-multipart`.
-
-๐ โฉ๏ธ **Oauth2๏ธโฃ** โ๏ธ "๐จ ๐" ๐จ `username` & `password`.
-
-///
-
-๐ ๐ผ โฎ๏ธ:
-
-
-
-/// check | โ ๐ผ โ
-
-๐ โช โ๏ธ โจ ๐ "โ" ๐ผ.
-
- & ๐ *โก ๐ ๏ธ* โ๏ธ ๐ฅ ๐ ๐-โถ๏ธ๏ธ โฉ ๐ ๐ ๐ช ๐.
-
-///
-
-& ๐ฅ ๐ ๐ โซ๏ธ, ๐ โ๏ธ ๐ฅ โ ๐จ ๐ `username` & `password` (& ๐ ๐ฆ ๐):
-
-
-
-/// note
-
-โซ๏ธ ๐ซ ๐ค โซ๏ธโ ๐ ๐ ๐จ, โซ๏ธ ๐ ๐ซ ๐ท. โ๏ธ ๐ฅ ๐ ๐ค ๐ค.
-
-///
-
-๐ โ๏ธ ๐ซ ๐ธ ๐ ๐ฉโ๐ป, โ๏ธ โซ๏ธ ๐ ๐ง ๐งฐ ๐ ๐ฅ ๐ ๐ ๐ ๏ธ.
-
-โซ๏ธ ๐ช โ๏ธ ๐ธ ๐ (๐ ๐ช ๐).
-
-โซ๏ธ ๐ช โ๏ธ ๐ฅ ๐ฅณ ๐ธ & โ๏ธ.
-
-& โซ๏ธ ๐ช โ๏ธ ๐, โน, โ
& ๐ฏ ๐ ๐ธ.
-
-## `password` ๐ง
-
-๐ โก๏ธ ๐ถ ๐ ๐ & ๐ค โซ๏ธโ ๐ ๐.
-
-`password` "๐ง" 1๏ธโฃ ๐ ("๐ง") ๐ฌ Oauth2๏ธโฃ, ๐ต ๐โโ & ๐ค.
-
-Oauth2๏ธโฃ ๐ง ๐ ๐ฉโ๐ป โ๏ธ ๐ ๏ธ ๐ช ๐ฌ ๐ฝ ๐ ๐ ๐ฉโ๐ป.
-
-โ๏ธ ๐ ๐ผ, ๐ **FastAPI** ๐ธ ๐ ๐ต ๐ ๏ธ & ๐ค.
-
-, โก๏ธ ๐ โซ๏ธ โช๏ธโก๏ธ ๐ ๐ โ ๐:
-
-* ๐ฉโ๐ป ๐ `username` & `password` ๐ธ, & ๐ฏ `Enter`.
-* ๐ธ (๐โโ ๐ฉโ๐ป ๐ฅ) ๐จ ๐ `username` & `password` ๐ฏ ๐ ๐ ๐ ๏ธ (๐ฃ โฎ๏ธ `tokenUrl="token"`).
-* ๐ ๏ธ โ
๐ `username` & `password`, & ๐จ โฎ๏ธ "๐ค" (๐ฅ ๐ซ ๐ ๏ธ ๐ ๐).
- * "๐ค" ๐ป โฎ๏ธ ๐ ๐ ๐ฅ ๐ช โ๏ธ โช โ ๐ ๐ฉโ๐ป.
- * ๐, ๐ค โ ๐ โฎ๏ธ ๐ฐ.
- * , ๐ฉโ๐ป ๐ โ๏ธ ๐น ๐ โ โช.
- * & ๐ฅ ๐ค ๐, โ ๐. โซ๏ธ ๐ซ ๐ ๐งฒ ๐ ๐ ๐ ๐ท โพ (๐ ๐ผ).
-* ๐ธ ๐ช ๐ ๐ค ๐ ๐ฑ.
-* ๐ฉโ๐ป ๐ ๐ธ ๐ถ โ1๏ธโฃ ๐ ๐ธ ๐ธ ๐ฑ.
-* ๐ธ ๐ช โ ๐
๐ฝ โช๏ธโก๏ธ ๐ ๏ธ.
- * โ๏ธ โซ๏ธ ๐ช ๐ค ๐ ๐ฏ ๐.
- * , ๐ โฎ๏ธ ๐ ๐ ๏ธ, โซ๏ธ ๐จ ๐ `Authorization` โฎ๏ธ ๐ฒ `Bearer ` โ ๐ค.
- * ๐ฅ ๐ค ๐ `foobar`, ๐ `Authorization` ๐ ๐: `Bearer foobar`.
-
-## **FastAPI**'โ `OAuth2PasswordBearer`
-
-**FastAPI** ๐ ๐ ๐งฐ, ๐ ๐ โ, ๐ ๏ธ ๐ซ ๐โโ โ.
-
-๐ ๐ผ ๐ฅ ๐ โ๏ธ **Oauth2๏ธโฃ**, โฎ๏ธ **๐** ๐ง, โ๏ธ **๐จ** ๐ค. ๐ฅ ๐ โ๏ธ `OAuth2PasswordBearer` ๐.
-
-/// info
-
-"๐จ" ๐ค ๐ซ ๐ด ๐.
-
-โ๏ธ โซ๏ธ ๐ 1๏ธโฃ ๐ โ๏ธ ๐ผ.
-
- & โซ๏ธ ๐ช ๐ ๐ โ๏ธ ๐ผ, ๐ฅ ๐ Oauth2๏ธโฃ ๐ด & ๐ญ โซ๏ธโ โซ๏ธโ ๐ค โ1๏ธโฃ ๐ ๐ โฃ ๐ป ๐ ๐ช.
-
-๐ ๐ผ, **FastAPI** ๐ ๐ โฎ๏ธ ๐งฐ ๐ โซ๏ธ.
-
-///
-
-๐โ ๐ฅ โ ๐ `OAuth2PasswordBearer` ๐ ๐ฅ ๐ถโโ๏ธ `tokenUrl` ๐ข. ๐ ๐ข ๐ ๐ ๐ ๐ฉโ๐ป (๐ธ ๐ ๐ฉโ๐ป ๐ฅ) ๐ โ๏ธ ๐จ `username` & `password` โ ๐ค ๐ค.
-
-{* ../../docs_src/security/tutorial001.py hl[6] *}
-
-/// tip
-
-๐ฅ `tokenUrl="token"` ๐ โ ๐ `token` ๐ ๐ฅ ๐ซ โ. โซ๏ธ โ ๐, โซ๏ธ ๐ `./token`.
-
-โฉ๏ธ ๐ฅ โ๏ธ โ ๐, ๐ฅ ๐ ๐ ๏ธ ๐ `https://example.com/`, โคด๏ธ โซ๏ธ ๐ ๐ `https://example.com/token`. โ๏ธ ๐ฅ ๐ ๐ ๏ธ ๐ `https://example.com/api/v1/`, โคด๏ธ โซ๏ธ ๐ ๐ `https://example.com/api/v1/token`.
-
-โ๏ธ โ ๐ โ โ ๐ญ ๐ ๐ธ ๐ง ๐ท ๐ง โ๏ธ ๐ผ ๐ [โ
๐ณ](../../advanced/behind-a-proxy.md){.internal-link target=_blank}.
-
-///
-
-๐ ๐ข ๐ซ โ ๐ ๐ / *โก ๐ ๏ธ*, โ๏ธ ๐ฃ ๐ ๐ `/token` ๐ 1๏ธโฃ ๐ ๐ฉโ๐ป ๐ โ๏ธ ๐ค ๐ค. ๐ โน โ๏ธ ๐, & โคด๏ธ ๐ ๐ ๏ธ ๐งพ โ๏ธ.
-
-๐ฅ ๐ ๐ โ โ โก ๐ ๏ธ.
-
-/// info
-
-๐ฅ ๐ ๐ถ โ "โ" ๐ ๐ช ๐ ๐ ๐ข ๐ `tokenUrl` โฉ๏ธ `token_url`.
-
-๐ โฉ๏ธ โซ๏ธ โ๏ธ ๐ ๐ ๐ ๐. ๐ ๐ฅ ๐ ๐ช ๐ฌ ๐
๐ ๐ ๐ซ ๐โโ โ ๐ ๐ช ๐ & ๐ โซ๏ธ ๐ ๐ โน ๐ โซ๏ธ.
-
-///
-
-`oauth2_scheme` ๐ข ๐ `OAuth2PasswordBearer`, โ๏ธ โซ๏ธ "๐ง๐ฒ".
-
-โซ๏ธ ๐ช ๐ค:
-
-```Python
-oauth2_scheme(some, parameters)
-```
-
-, โซ๏ธ ๐ช โ๏ธ โฎ๏ธ `Depends`.
-
-### โ๏ธ โซ๏ธ
-
-๐ ๐ ๐ช ๐ถโโ๏ธ ๐ `oauth2_scheme` ๐ โฎ๏ธ `Depends`.
-
-{* ../../docs_src/security/tutorial001.py hl[10] *}
-
-๐ ๐ ๐ ๐ `str` ๐ ๐ ๏ธ ๐ข `token` *โก ๐ ๏ธ ๐ข*.
-
-**FastAPI** ๐ ๐ญ ๐ โซ๏ธ ๐ช โ๏ธ ๐ ๐ ๐ฌ "๐โโ โ" ๐ ๐ (& ๐ง ๐ ๏ธ ๐ฉบ).
-
-/// info | ๐ก โน
-
-**FastAPI** ๐ ๐ญ ๐ โซ๏ธ ๐ช โ๏ธ ๐ `OAuth2PasswordBearer` (๐ฃ ๐) ๐ฌ ๐โโ โ ๐ โฉ๏ธ โซ๏ธ ๐ โช๏ธโก๏ธ `fastapi.security.oauth2.OAuth2`, โ ๐ ๐ โช๏ธโก๏ธ `fastapi.security.base.SecurityBase`.
-
-๐ ๐โโ ๐ ๐ ๐ ๏ธ โฎ๏ธ ๐ (& ๐ง ๐ ๏ธ ๐ฉบ) ๐ โช๏ธโก๏ธ `SecurityBase`, ๐ โ **FastAPI** ๐ช ๐ญ โ ๐ ๏ธ ๐ซ ๐.
-
-///
-
-## โซ๏ธโ โซ๏ธ ๐จ
-
-โซ๏ธ ๐ ๐ถ & ๐ ๐จ ๐ `Authorization` ๐, โ
๐ฅ ๐ฒ `Bearer ` โ ๐ค, & ๐ ๐จ ๐ค `str`.
-
-๐ฅ โซ๏ธ ๐ซ ๐ `Authorization` ๐, โ๏ธ ๐ฒ ๐ซ โ๏ธ `Bearer ` ๐ค, โซ๏ธ ๐ ๐จ โฎ๏ธ 4๏ธโฃ0๏ธโฃ1๏ธโฃ ๐ ๐ โ (`UNAUTHORIZED`) ๐.
-
-๐ ๐ซ โ๏ธ โ
๐ฅ ๐ค ๐ ๐จ โ. ๐ ๐ช ๐ญ ๐ ๐ฅ ๐ ๐ข ๐ ๏ธ, โซ๏ธ ๐ โ๏ธ `str` ๐ ๐ค.
-
-๐ ๐ช ๐ โซ๏ธ โช ๐ ๐ฉบ:
-
-
-
-๐ฅ ๐ซ โ ๐ฌ ๐ค, โ๏ธ ๐ โถ๏ธ โช.
-
-## ๐
-
-, 3๏ธโฃ โ๏ธ 4๏ธโฃ โ โธ, ๐ โช โ๏ธ ๐ ๐จ ๐โโ.
diff --git a/docs/em/docs/tutorial/security/get-current-user.md b/docs/em/docs/tutorial/security/get-current-user.md
deleted file mode 100644
index 2f4a26f35..000000000
--- a/docs/em/docs/tutorial/security/get-current-user.md
+++ /dev/null
@@ -1,105 +0,0 @@
-# ๐ค โฎ๏ธ ๐ฉโ๐ป
-
-โฎ๏ธ ๐ ๐โโ โ๏ธ (โ ๐งข ๐ ๐ ๐ โ๏ธ) ๐ค *โก ๐ ๏ธ ๐ข* `token` `str`:
-
-{* ../../docs_src/security/tutorial001.py hl[10] *}
-
-โ๏ธ ๐ ๐ซ ๐ โ .
-
-โก๏ธ โ โซ๏ธ ๐ค ๐ฅ โฎ๏ธ ๐ฉโ๐ป.
-
-## โ ๐ฉโ๐ป ๐ท
-
-๐ฅ, โก๏ธ โ Pydantic ๐ฉโ๐ป ๐ท.
-
-๐ ๐ ๐ฅ โ๏ธ Pydantic ๐ฃ ๐ช, ๐ฅ ๐ช โ๏ธ โซ๏ธ ๐ ๐:
-
-{* ../../docs_src/security/tutorial002.py hl[5,12:16] *}
-
-## โ `get_current_user` ๐
-
-โก๏ธ โ ๐ `get_current_user`.
-
-๐ญ ๐ ๐ ๐ช โ๏ธ ๐ง-๐ โ
-
-`get_current_user` ๐ โ๏ธ ๐ โฎ๏ธ ๐ `oauth2_scheme` ๐ฅ โ โญ.
-
-๐ ๐ฅ ๐จ โญ *โก ๐ ๏ธ* ๐, ๐ ๐ ๐ `get_current_user` ๐ ๐จ `token` `str` โช๏ธโก๏ธ ๐ง-๐ `oauth2_scheme`:
-
-{* ../../docs_src/security/tutorial002.py hl[25] *}
-
-## ๐ค ๐ฉโ๐ป
-
-`get_current_user` ๐ โ๏ธ (โ) ๐ ๐ข ๐ฅ โ, ๐ โ ๐ค `str` & ๐จ ๐ Pydantic `User` ๐ท:
-
-{* ../../docs_src/security/tutorial002.py hl[19:22,26:27] *}
-
-## ๐ โฎ๏ธ ๐ฉโ๐ป
-
-๐ ๐ฅ ๐ช โ๏ธ ๐ `Depends` โฎ๏ธ ๐ `get_current_user` *โก ๐ ๏ธ*:
-
-{* ../../docs_src/security/tutorial002.py hl[31] *}
-
-๐ ๐ ๐ฅ ๐ฃ ๐ `current_user` Pydantic ๐ท `User`.
-
-๐ ๐ โน ๐บ๐ฒ ๐ ๐ข โฎ๏ธ ๐ ๐ ๏ธ & ๐ โ
.
-
-/// tip
-
-๐ 5๏ธโฃ๐ ๐ญ ๐ ๐จ ๐ช ๐ฃ โฎ๏ธ Pydantic ๐ท.
-
-๐ฅ **FastAPI** ๐ ๐ซ ๐ค ๐จ โฉ๏ธ ๐ โ๏ธ `Depends`.
-
-///
-
-/// check
-
-๐ ๐ ๐ โ๏ธ ๐ โ ๐ฅ โ๏ธ ๐ ๐ (๐ "โ") ๐ ๐ ๐จ `User` ๐ท.
-
-๐ฅ ๐ซ ๐ซ โ๏ธ ๐ด 1๏ธโฃ ๐ ๐ ๐ช ๐จ ๐ ๐ ๐ฝ.
-
-///
-
-## ๐ ๐ท
-
-๐ ๐ช ๐ ๐ค โฎ๏ธ ๐ฉโ๐ป ๐ *โก ๐ ๏ธ ๐ข* & ๐
โฎ๏ธ ๐โโ ๐ ๏ธ **๐ ๐** ๐, โ๏ธ `Depends`.
-
-& ๐ ๐ช โ๏ธ ๐ ๐ท โ๏ธ ๐ฝ ๐โโ ๐ (๐ ๐ผ, Pydantic ๐ท `User`).
-
-โ๏ธ ๐ ๐ซ ๐ซ โ๏ธ ๐ฏ ๐ฝ ๐ท, ๐ โ๏ธ ๐.
-
-๐ ๐ โ๏ธ `id` & `email` & ๐ซ โ๏ธ ๐ `username` ๐ ๐ท โ ๐ญ. ๐ ๐ช โ๏ธ ๐ ๐ ๐งฐ.
-
-๐ ๐ โ๏ธ `str`โ โ๏ธ `dict`โ โ๏ธ ๐ฝ ๐ ๐ท ๐ ๐ โ โซ๏ธ ๐ ๐ท ๐ ๐.
-
-๐ ๐ค ๐ซ โ๏ธ ๐ฉโ๐ป ๐ ๐น ๐ ๐ธ โ๏ธ ๐ค, ๐ค, โ๏ธ ๐ โ๏ธ, ๐ โ๏ธ ๐ ๐ค โ ๐, โซ๏ธ ๐ ๐ท ๐.
-
-โ๏ธ ๐ ๐ ๐ท, ๐ ๐ ๐, ๐ ๐ ๐ฝ ๐ ๐ ๐ช ๐ ๐ธ. **FastAPI** โ๏ธ ๐ ๐ โฎ๏ธ ๐ ๐ โ๏ธ.
-
-## ๐ ๐
-
-๐ ๐ผ 5๏ธโฃ๐ ๐ ๐. โ๏ธ ๐คฏ ๐ ๐ฅ ๐ ๐โโ, ๐ ๐ท, ๐ ๐ข & *โก ๐ ๏ธ* ๐ ๐.
-
-โ๏ธ ๐ฅ ๐ โ.
-
-๐โโ & ๐ ๐ ๐ฉ โ ๐.
-
-& ๐ ๐ช โ โซ๏ธ ๐ ๐ ๐. & , โ๏ธ โซ๏ธ โ ๐ด ๐, ๐ ๐ฅ. โฎ๏ธ ๐ ๐ช.
-
-โ๏ธ ๐ ๐ช โ๏ธ ๐ฏ ๐ (*โก ๐ ๏ธ*) โ๏ธ ๐ ๐โโ โ๏ธ.
-
-& ๐ ๐ซ (โ๏ธ ๐ โ ๐ซ ๐ ๐ ๐) ๐ช โ ๐ ๐ค-โ๏ธ ๐ซ ๐ โ๏ธ ๐ ๐ ๐ ๐ โ.
-
-& ๐ ๐ ๐ฏ *โก ๐ ๏ธ* ๐ช ๐คช 3๏ธโฃ โธ:
-
-{* ../../docs_src/security/tutorial002.py hl[30:32] *}
-
-## ๐
-
-๐ ๐ช ๐ ๐ค โฎ๏ธ ๐ฉโ๐ป ๐ ๐ *โก ๐ ๏ธ ๐ข*.
-
-๐ฅ โช ๐ฌ ๐ค.
-
-๐ฅ ๐ช ๐ฎ *โก ๐ ๏ธ* ๐ฉโ๐ป/๐ฉโ๐ป ๐ค ๐จ `username` & `password`.
-
-๐ ๐ โญ.
diff --git a/docs/em/docs/tutorial/security/index.md b/docs/em/docs/tutorial/security/index.md
deleted file mode 100644
index 1a47e5510..000000000
--- a/docs/em/docs/tutorial/security/index.md
+++ /dev/null
@@ -1,106 +0,0 @@
-# ๐โโ
-
-๐ค ๐ ๐ ๐ต ๐โโ, ๐ค & โ.
-
-& โซ๏ธ ๐ ๐ & "โ " โ.
-
-๐ ๐ ๏ธ & โ๏ธ ๐ต ๐โโ & ๐ค โ ๐ฆ ๐ธ ๐ฏ & ๐ (๐ ๐ผ โซ๏ธ ๐ช 5๏ธโฃ0๏ธโฃ ๐ฏ โ๏ธ ๐
๐ ๐ โ).
-
-**FastAPI** ๐ ๐ ๐งฐ โน ๐ ๐
โฎ๏ธ **๐โโ** ๐ช, ๐, ๐ฉ ๐, ๐ต โ๏ธ ๐ฌ & ๐ก ๐ ๐โโ ๐ง.
-
-โ๏ธ ๐ฅ, โก๏ธ โ
๐คช ๐ง.
-
-## ๐ โ
-
-๐ฅ ๐ ๐ซ ๐
๐ ๐ ๐ โ & ๐ ๐ช ๐ฎ ๐โโ โฎ๏ธ ๐ค โ๏ธ ๐ ๐ & ๐ *โถ๏ธ๏ธ ๐*, ๐ถ โญ ๐.
-
-## Oauth2๏ธโฃ
-
-Oauth2๏ธโฃ ๐ง ๐ ๐ฌ ๐ ๐ ๐ต ๐ค & โ.
-
-โซ๏ธ ๐ฌ ๐ง & ๐ ๐ ๐ โ๏ธ ๐ผ.
-
-โซ๏ธ ๐ ๐ ๐ โ๏ธ "๐ฅ ๐ฅณ".
-
-๐ โซ๏ธโ ๐ โ๏ธ โฎ๏ธ "๐ณ โฎ๏ธ ๐ฑ๐, ๐บ๐ธ๐, ๐ฑ๐, ๐" โ๏ธ ๐.
-
-### โณ 1๏ธโฃ
-
-๐ค โณ 1๏ธโฃ, โ ๐ถ ๐ โช๏ธโก๏ธ Oauth2๏ธโฃ, & ๐ ๐, โซ๏ธ ๐ ๐ ๐ง ๐ โ ๐ ๐ป.
-
-โซ๏ธ ๐ซ ๐ถ ๐ โ๏ธ โ๏ธ ๐.
-
-Oauth2๏ธโฃ ๐ซ โ โ ๐ ๐ป, โซ๏ธ โ ๐ โ๏ธ ๐ ๐ธ ๐ฆ โฎ๏ธ ๐บ๐ธ๐.
-
-/// tip
-
-๐ ๐ **๐ ๏ธ** ๐ ๐ ๐ โ โ ๐ ๐บ๐ธ๐ ๐, โ๏ธ Traefik & โก๏ธ ๐.
-
-///
-
-## ๐ฉโ๐ป ๐
-
-๐ฉโ๐ป ๐ โ1๏ธโฃ ๐ง, ๐งข ๐ **Oauth2๏ธโฃ**.
-
-โซ๏ธ โ Oauth2๏ธโฃ โ ๐ ๐ ๐ถ ๐ Oauth2๏ธโฃ, ๐ โ โซ๏ธ ๐
๐ ๏ธ.
-
-๐ผ, ๐บ๐ธ๐ ๐ณ โ๏ธ ๐ฉโ๐ป ๐ (โ ๐ โ๏ธ Oauth2๏ธโฃ).
-
-โ๏ธ ๐ฑ๐ ๐ณ ๐ซ ๐โ๐ฆบ ๐ฉโ๐ป ๐. โซ๏ธ โ๏ธ ๐ฎ ๐ ๐ Oauth2๏ธโฃ.
-
-### ๐ฉโ๐ป (๐ซ "๐ฉโ๐ป ๐")
-
-๐ค "๐ฉโ๐ป" ๐ง. ๐ ๐ โ ๐ ๐ **๐ฉโ๐ป ๐**, โ๏ธ ๐ซ โ๏ธ ๐ Oauth2๏ธโฃ.
-
-, โซ๏ธ ๐ ๐ โ๏ธ.
-
-โซ๏ธ ๐ซ ๐ถ ๐ โ๏ธ โ๏ธ ๐.
-
-## ๐
-
-๐ (โช ๐ญ ๐ฆ) ๐ ๐ง ๐ ๐ (๐ ๐ ๐พ ๐).
-
-**FastAPI** โ๏ธ ๐ **๐**.
-
-๐ โซ๏ธโ โ โซ๏ธ ๐ช โ๏ธ ๐ ๐ง ๐ ๐งพ ๐ข, ๐ โก, โ๏ธ.
-
-๐ โ๏ธ ๐ ๐ฌ ๐ ๐โโ "โ".
-
-โ๏ธ ๐ซ, ๐ ๐ช โ ๐ ๐ ๐ซ ๐ฉ-โ๏ธ ๐งฐ, ๐ ๐ ๐ ๐งพ โ๏ธ.
-
-๐ ๐ฌ ๐ ๐โโ โ:
-
-* `apiKey`: ๐ธ ๐ฏ ๐ ๐ ๐ช ๐ โช๏ธโก๏ธ:
- * ๐ข ๐ข.
- * ๐.
- * ๐ช.
-* `http`: ๐ฉ ๐บ๐ธ๐ ๐ค โ๏ธ, ๐:
- * `bearer`: ๐ `Authorization` โฎ๏ธ ๐ฒ `Bearer ` โ ๐ค. ๐ ๐ โช๏ธโก๏ธ Oauth2๏ธโฃ.
- * ๐บ๐ธ๐ ๐ฐ ๐ค.
- * ๐บ๐ธ๐ ๐ฐ, โ๏ธ.
-* `oauth2`: ๐ Oauth2๏ธโฃ ๐ ๐ต ๐โโ (๐ค "๐ง").
- * ๐ ๐ซ ๐ง โ ๐ โณ 2๏ธโฃ.0๏ธโฃ ๐ค ๐โ๐ฆบ (๐ ๐บ๐ธ๐, ๐ฑ๐, ๐ฑ๐, ๐, โ๏ธ):
- * `implicit`
- * `clientCredentials`
- * `authorizationCode`
- * โ๏ธ ๐ค 1๏ธโฃ ๐ฏ "๐ง" ๐ ๐ช ๐ โ๏ธ ๐ ๐ค ๐ ๐ธ ๐:
- * `password`: โญ ๐ ๐ ๐ ๐ผ ๐.
-* `openIdConnect`: โ๏ธ ๐ ๐ฌ โ ๐ Oauth2๏ธโฃ ๐ค ๐ ๐.
- * ๐ ๐ง ๐ โซ๏ธโ ๐ฌ ๐ฉโ๐ป ๐ ๐ง.
-
-
-/// tip
-
-๐ ๏ธ ๐ ๐ค/โ ๐โ๐ฆบ ๐ ๐บ๐ธ๐, ๐ฑ๐, ๐ฑ๐, ๐, โ๏ธ. ๐ช & ๐ถ โฉ.
-
-๐
๐ โ ๐ ๐ค/โ ๐โ๐ฆบ ๐ ๐, โ๏ธ **FastAPI** ๐ค ๐ ๐งฐ โซ๏ธ ๐ช, โช ๐จ ๐๏ธ ๐โโ ๐.
-
-///
-
-## **FastAPI** ๐
-
-FastAPI ๐ ๐ ๐งฐ ๐ ๐ ๐โโ โ `fastapi.security` ๐น ๐ ๐ โ๏ธ ๐ ๐โโ ๐ ๏ธ.
-
-โญ ๐ ๐ ๐ ๐ โ ๐ฎ ๐โโ ๐ ๐ ๏ธ โ๏ธ ๐ ๐งฐ ๐ **FastAPI**.
-
-& ๐ ๐ ๐ โ โซ๏ธ ๐ค ๐ ๐ ๏ธ ๐ ๐ ๐งพ โ๏ธ.
diff --git a/docs/em/docs/tutorial/security/oauth2-jwt.md b/docs/em/docs/tutorial/security/oauth2-jwt.md
deleted file mode 100644
index ee7bc2d28..000000000
--- a/docs/em/docs/tutorial/security/oauth2-jwt.md
+++ /dev/null
@@ -1,275 +0,0 @@
-# Oauth2๏ธโฃ โฎ๏ธ ๐ (& ๐), ๐จ โฎ๏ธ ๐ฅ ๐ค
-
-๐ ๐ ๐ฅ โ๏ธ ๐ ๐โโ ๐ง, โก๏ธ โ ๐ธ ๐ค ๐, โ๏ธ ๐ฅ ๐ค & ๐ ๐ ๐.
-
-๐ ๐ ๐ณ ๐ ๐ช ๐ค โ๏ธ ๐ ๐ธ, ๐ ๐ #๏ธโฃ ๐ ๐ฝ, โ๏ธ.
-
-๐ฅ ๐ โถ๏ธ โช๏ธโก๏ธ ๐โ ๐ฅ โ๏ธ โฎ๏ธ ๐ & ๐ โซ๏ธ.
-
-## ๐ ๐ฅ
-
-๐ฅ โ "๐ป ๐ธ ๐ค".
-
-โซ๏ธ ๐ฉ ๐ซ ๐ป ๐ ๐ ๐ง ๐ป ๐ต ๐. โซ๏ธ ๐ ๐ ๐:
-
-```
-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
-```
-
-โซ๏ธ ๐ซ ๐,, ๐ ๐ช ๐ก โน โช๏ธโก๏ธ ๐.
-
-โ๏ธ โซ๏ธ ๐. , ๐โ ๐ ๐จ ๐ค ๐ ๐ โจ, ๐ ๐ช โ ๐ ๐ ๐ค โจ โซ๏ธ.
-
-๐ ๐, ๐ ๐ช โ ๐ค โฎ๏ธ ๐, โก๏ธ ๐ฌ, 1๏ธโฃ ๐๏ธ. & โคด๏ธ ๐โ ๐ฉโ๐ป ๐ ๐ โญ ๐ โฎ๏ธ ๐ค, ๐ ๐ญ ๐ ๐ฉโ๐ป ๐น ๐ โ๏ธ.
-
-โฎ๏ธ ๐๏ธ, ๐ค ๐ ๐ & ๐ฉโ๐ป ๐ ๐ซ โ & ๐ โ๏ธ ๐ ๐ ๐ค ๐ ๐ค. & ๐ฅ ๐ฉโ๐ป (โ๏ธ ๐ฅ ๐ฅณ) ๐ ๐ ๐ค ๐ ๐, ๐ ๐ ๐ช ๐ โซ๏ธ, โฉ๏ธ ๐ณ ๐ ๐ซ ๐.
-
-๐ฅ ๐ ๐ ๐คพ โฎ๏ธ ๐ฅ ๐ค & ๐ โ ๐ซ ๐ท, โ
https://jwt.io.
-
-## โ `python-jose`
-
-๐ฅ ๐ช โ `python-jose` ๐ & โ ๐ฅ ๐ค ๐:
-
-
-
-โ ๐ธ ๐ ๐ โญ.
-
-โ๏ธ ๐:
-
-๐: `johndoe`
-๐: `secret`
-
-/// check
-
-๐ ๐ ๐ณ ๐ ๐ข ๐ "`secret`", ๐ฅ ๐ด โ๏ธ #๏ธโฃ โฌ.
-
-///
-
-
-
-๐ค ๐ `/users/me/`, ๐ ๐ ๐ค ๐จ:
-
-```JSON
-{
- "username": "johndoe",
- "email": "johndoe@example.com",
- "full_name": "John Doe",
- "disabled": false
-}
-```
-
-
-
-๐ฅ ๐ ๐ ๐ฉโ๐ป ๐งฐ, ๐ ๐ช ๐ โ ๐ ๐จ ๐ด ๐ ๐ค, ๐ ๐ด ๐จ ๐ฅ ๐จ ๐ ๐ฉโ๐ป & ๐ค ๐ ๐ ๐ค, โ๏ธ ๐ซ โฎ๏ธ:
-
-
-
-/// note
-
-๐ ๐ `Authorization`, โฎ๏ธ ๐ฒ ๐ โถ๏ธ โฎ๏ธ `Bearer `.
-
-///
-
-## ๐ง โ๏ธ โฎ๏ธ `scopes`
-
-Oauth2๏ธโฃ โ๏ธ ๐ "โ".
-
-๐ ๐ช โ๏ธ ๐ซ ๐ฎ ๐ฏ โ โ ๐ฅ ๐ค.
-
-โคด๏ธ ๐ ๐ช ๐ค ๐ ๐ค ๐ฉโ๐ป ๐ โ๏ธ ๐ฅ ๐ฅณ, ๐ โฎ๏ธ ๐ ๐ ๏ธ โฎ๏ธ โ ๐ซ.
-
-๐ ๐ช ๐ก โ โ๏ธ ๐ซ & โ ๐ซ ๐ ๏ธ ๐ **FastAPI** โช **๐ง ๐ฉโ๐ป ๐ฆฎ**.
-
-## ๐
-
-โฎ๏ธ โซ๏ธโ ๐ โ๏ธ ๐ ๐ ๐, ๐ ๐ช โ ๐ ๐ **FastAPI** ๐ธ โ๏ธ ๐ฉ ๐ Oauth2๏ธโฃ & ๐ฅ.
-
-๐ ๐ ๐ ๏ธ ๐ ๐โโ โถ๏ธ๏ธ ๐ ๐ ๐ ๐.
-
-๐ ๐ฆ ๐ ๐ โซ๏ธ ๐ โ๏ธ โ ๐ โ โฎ๏ธ ๐ฝ ๐ท, ๐ฝ, & ๐ช โ. & ๐ ๐ฆ ๐ ๐ ๐ ๐โโ๏ธ ๐
๐ค โ๏ธ ๐โโ โ ๐.
-
----
-
-**FastAPI** ๐ซ โ ๐ โ โฎ๏ธ ๐ ๐ฝ, ๐ฝ ๐ท โ๏ธ ๐งฐ.
-
-โซ๏ธ ๐ค ๐ ๐ ๐ช โ ๐ ๐ ๐ ๐ ๐ ๐.
-
-& ๐ ๐ช โ๏ธ ๐ ๐ ๐ ๐ง & ๐ โ๏ธ ๐ฆ ๐ `passlib` & `python-jose`, โฉ๏ธ **FastAPI** ๐ซ ๐ ๐ ๐ ๐ ๏ธ ๐ ๏ธ ๐ข ๐ฆ.
-
-โ๏ธ โซ๏ธ ๐ ๐ ๐งฐ ๐ ๐ ๏ธ ๐
๐ช ๐ต ๐ฏ ๐ช, โ, โ๏ธ ๐โโ.
-
-& ๐ ๐ช โ๏ธ & ๐ ๏ธ ๐, ๐ฉ ๐ ๏ธ, ๐ Oauth2๏ธโฃ ๐ถ ๐
๐.
-
-๐ ๐ช ๐ก ๐
**๐ง ๐ฉโ๐ป ๐ฆฎ** ๐ โ โ๏ธ Oauth2๏ธโฃ "โ", ๐ ๐-๐งฝ โ โ๏ธ, ๐ ๐ซ ๐ ๐ฉ. Oauth2๏ธโฃ โฎ๏ธ โ ๐ ๏ธ โ๏ธ ๐ ๐ฆ ๐ค ๐โ๐ฆบ, ๐ ๐ฑ๐, ๐บ๐ธ๐, ๐, ๐คธโโ, ๐ฑ๐, โ๏ธ. โ ๐ฅ ๐ฅณ ๐ธ ๐ โฎ๏ธ ๐ซ ๐ ๐ ๐จโ๐ผ ๐ซ ๐ฉโ๐ป.
diff --git a/docs/em/docs/tutorial/security/simple-oauth2.md b/docs/em/docs/tutorial/security/simple-oauth2.md
deleted file mode 100644
index 1fd513d48..000000000
--- a/docs/em/docs/tutorial/security/simple-oauth2.md
+++ /dev/null
@@ -1,289 +0,0 @@
-# ๐
Oauth2๏ธโฃ โฎ๏ธ ๐ & ๐จ
-
-๐ โก๏ธ ๐ โช๏ธโก๏ธ โฎ๏ธ ๐ & ๐ฎ โ ๐ โ๏ธ ๐ ๐โโ ๐ง.
-
-## ๐ค `username` & `password`
-
-๐ฅ ๐ โ๏ธ **FastAPI** ๐โโ ๐ ๐ค `username` & `password`.
-
-Oauth2๏ธโฃ โ ๐ ๐โ โ๏ธ "๐ ๐ง" (๐ ๐ฅ โ๏ธ) ๐ฉโ๐ป/๐ฉโ๐ป ๐ ๐จ `username` & `password` ๐ ๐จ ๐ฝ.
-
-& ๐ ๐ฌ ๐ ๐ โ๏ธ ๐ ๐ ๐. `user-name` โ๏ธ `email` ๐ซ๐ ๐ท.
-
-โ๏ธ ๐ซ ๐, ๐ ๐ช ๐ฆ โซ๏ธ ๐ ๐ ๐ ๐ ๐ฉโ๐ป ๐ธ.
-
-& ๐ ๐ฝ ๐ท ๐ช โ๏ธ ๐ ๐ ๐ ๐ ๐.
-
-โ๏ธ ๐ณ *โก ๐ ๏ธ*, ๐ฅ ๐ช โ๏ธ ๐ ๐ ๐ โฎ๏ธ ๐ (& ๐ช, ๐ผ, โ๏ธ ๐ ๏ธ ๐ ๏ธ ๐งพ โ๏ธ).
-
-๐ ๐ต๐ธ ๐ `username` & `password` ๐ ๐จ ๐จ ๐ฝ (, ๐
โโ ๐ป ๐ฅ).
-
-### `scope`
-
-๐ ๐ฌ ๐ ๐ฉโ๐ป ๐ช ๐จ โ1๏ธโฃ ๐จ ๐ "`scope`".
-
-๐จ ๐ ๐ `scope` (โญ), โ๏ธ โซ๏ธ ๐ค ๐ ๐ป โฎ๏ธ "โ" ๐ ๐.
-
-๐ "โ" ๐ป (๐ต ๐).
-
-๐ซ ๐ โ๏ธ ๐ฃ ๐ฏ ๐โโ โ, ๐ผ:
-
-* `users:read` โ๏ธ `users:write` โ ๐ผ.
-* `instagram_basic` โ๏ธ ๐ฑ๐ / ๐ฑ๐.
-* `https://www.googleapis.com/auth/drive` โ๏ธ ๐บ๐ธ๐.
-
-/// info
-
-Oauth2๏ธโฃ "โ" ๐ป ๐ ๐ฃ ๐ฏ โ โ.
-
-โซ๏ธ ๐ซ ๐ค ๐ฅ โซ๏ธ โ๏ธ ๐ ๐ฆน ๐ `:` โ๏ธ ๐ฅ โซ๏ธ ๐.
-
-๐ โน ๐ ๏ธ ๐ฏ.
-
-Oauth2๏ธโฃ ๐ซ ๐ป.
-
-///
-
-## ๐ ๐ค `username` & `password`
-
-๐ โก๏ธ โ๏ธ ๐ ๐ **FastAPI** ๐ต ๐.
-
-### `OAuth2PasswordRequestForm`
-
-๐ฅ, ๐ `OAuth2PasswordRequestForm`, & โ๏ธ โซ๏ธ ๐ โฎ๏ธ `Depends` *โก ๐ ๏ธ* `/token`:
-
-{* ../../docs_src/security/tutorial003.py hl[4,76] *}
-
-`OAuth2PasswordRequestForm` ๐ ๐ ๐ ๐ฃ ๐จ ๐ช โฎ๏ธ:
-
-* `username`.
-* `password`.
-* ๐ฆ `scope` ๐ ๐ฆ ๐ป, โ ๐ป ๐ ๐.
-* ๐ฆ `grant_type`.
-
-/// tip
-
-Oauth2๏ธโฃ ๐ ๐ค *๐* ๐ `grant_type` โฎ๏ธ ๐ง ๐ฒ `password`, โ๏ธ `OAuth2PasswordRequestForm` ๐ซ ๐ ๏ธ โซ๏ธ.
-
-๐ฅ ๐ ๐ช ๐ ๏ธ โซ๏ธ, โ๏ธ `OAuth2PasswordRequestFormStrict` โฉ๏ธ `OAuth2PasswordRequestForm`.
-
-///
-
-* ๐ฆ `client_id` (๐ฅ ๐ซ ๐ช โซ๏ธ ๐ ๐ผ).
-* ๐ฆ `client_secret` (๐ฅ ๐ซ ๐ช โซ๏ธ ๐ ๐ผ).
-
-/// info
-
-`OAuth2PasswordRequestForm` ๐ซ ๐ ๐ **FastAPI** `OAuth2PasswordBearer`.
-
-`OAuth2PasswordBearer` โ **FastAPI** ๐ญ ๐ โซ๏ธ ๐โโ โ. โซ๏ธ ๐ฎ ๐ ๐ ๐.
-
-โ๏ธ `OAuth2PasswordRequestForm` ๐ ๐ ๐ ๐ ๐ช โ๏ธ โ ๐, โ๏ธ ๐ ๐ช โ๏ธ ๐ฃ `Form` ๐ข ๐.
-
-โ๏ธ โซ๏ธ โ โ๏ธ ๐ผ, โซ๏ธ ๐ **FastAPI** ๐, โ โซ๏ธ โฉ.
-
-///
-
-### โ๏ธ ๐จ ๐ฝ
-
-/// tip
-
-๐ ๐ ๐ `OAuth2PasswordRequestForm` ๐ ๐ซ โ๏ธ ๐ข `scope` โฎ๏ธ ๐ ๐ป ๐ฝ ๐, โฉ๏ธ, โซ๏ธ ๐ โ๏ธ `scopes` ๐ข โฎ๏ธ โ ๐ ๐ป ๐ โ ๐จ.
-
-๐ฅ ๐ซ โ๏ธ `scopes` ๐ ๐ผ, โ๏ธ ๐ ๏ธ ๐ค ๐ฅ ๐ ๐ช โซ๏ธ.
-
-///
-
-๐, ๐ค ๐ฉโ๐ป ๐ โช๏ธโก๏ธ (โ) ๐ฝ, โ๏ธ `username` โช๏ธโก๏ธ ๐จ ๐.
-
-๐ฅ ๐ค ๐
โโ โ
๐ฉโ๐ป, ๐ฅ ๐จ โ ๐ฌ "โ ๐ โ๏ธ ๐".
-
-โ, ๐ฅ โ๏ธ โ `HTTPException`:
-
-{* ../../docs_src/security/tutorial003.py hl[3,77:79] *}
-
-### โ
๐
-
-๐ โ ๐ฅ โ๏ธ ๐ฉโ๐ป ๐ โช๏ธโก๏ธ ๐ ๐ฝ, โ๏ธ ๐ฅ ๐ซ โ
๐.
-
-โก๏ธ ๐ฎ ๐ ๐ฝ Pydantic `UserInDB` ๐ท ๐ฅ.
-
-๐ ๐ ๐
๐ ๐ข ๐,, ๐ฅ ๐ โ๏ธ (โ) ๐ ๐ โ๏ธ.
-
-๐ฅ ๐ ๐ซ ๐, ๐ฅ ๐จ ๐ โ.
-
-#### ๐ ๐
-
-"๐" โ: ๐ญ ๐ (๐ ๐ ๐ผ) ๐ ๐ ๐ข (๐ป) ๐ ๐ ๐ ๐.
-
-๐โ ๐ ๐ถโโ๏ธ โซ๏ธโ ๐ ๐ (โซ๏ธโ ๐ ๐) ๐ ๐ค โซ๏ธโ ๐ ๐.
-
-โ๏ธ ๐ ๐ซ๐ ๐ โช๏ธโก๏ธ ๐ ๐ ๐.
-
-##### โซ๏ธโ โ๏ธ ๐ ๐
-
-๐ฅ ๐ ๐ฝ ๐, ๐งโโ ๐ ๐ซ โ๏ธ ๐ ๐ฉโ๐ป' ๐ข ๐, ๐ด#๏ธโฃ.
-
-, ๐งโโ ๐ ๐ซ ๐ช ๐ โ๏ธ ๐ ๐ ๐ โ1๏ธโฃ โ๏ธ (๐ ๐ฉโ๐ป โ๏ธ ๐ ๐ ๐, ๐ ๐ โ ).
-
-{* ../../docs_src/security/tutorial003.py hl[80:83] *}
-
-#### ๐ `**user_dict`
-
-`UserInDB(**user_dict)` โ:
-
-*๐ถโโ๏ธ ๐ & ๐ฒ `user_dict` ๐ ๐-๐ฒ โ, ๐:*
-
-```Python
-UserInDB(
- username = user_dict["username"],
- email = user_dict["email"],
- full_name = user_dict["full_name"],
- disabled = user_dict["disabled"],
- hashed_password = user_dict["hashed_password"],
-)
-```
-
-/// info
-
-๐
๐ ๐ `**๐ฉโ๐ป_ #๏ธโฃ ` โ
๐ [๐งพ **โ ๐ท**](../extra-models.md#user_indict){.internal-link target=_blank}.
-
-///
-
-## ๐จ ๐ค
-
-๐จ `token` ๐ ๐ ๐ป ๐.
-
-โซ๏ธ ๐ โ๏ธ `token_type`. ๐ ๐ผ, ๐ฅ โ๏ธ "๐จ" ๐ค, ๐ค ๐ ๐ "`bearer`".
-
-& โซ๏ธ ๐ โ๏ธ `access_token`, โฎ๏ธ ๐ป โ ๐ ๐ ๐ค.
-
-๐ ๐
๐ผ, ๐ฅ ๐ ๐ ๐ & ๐จ ๐ `username` ๐ค.
-
-/// tip
-
-โญ ๐, ๐ ๐ ๐ ๐ฐ ๐ ๐ ๏ธ, โฎ๏ธ ๐ #๏ธโฃ & ๐ฅ ๐ค.
-
-โ๏ธ ๐, โก๏ธ ๐ฏ ๐ ๐ฏ โน ๐ฅ ๐ช.
-
-///
-
-{* ../../docs_src/security/tutorial003.py hl[85] *}
-
-/// tip
-
-๐, ๐ ๐ ๐จ ๐ป โฎ๏ธ `access_token` & `token_type`, ๐ ๐ ๐ผ.
-
-๐ ๐ณ ๐ ๐ โ๏ธ ๐ ๐ ๐, & โ ๐ญ ๐ โ๏ธ ๐ ๐ป ๐.
-
-โซ๏ธ ๐ ๐ด ๐ ๐ ๐ โ๏ธ ๐ญ โ ๐, ๐ ๏ธ โฎ๏ธ ๐ง.
-
-๐, **FastAPI** ๐ต โซ๏ธ ๐.
-
-///
-
-## โน ๐
-
-๐ ๐ฅ ๐ โน ๐ ๐.
-
-๐ฅ ๐ ๐ค `current_user` *๐ด* ๐ฅ ๐ ๐ฉโ๐ป ๐ฆ.
-
-, ๐ฅ โ ๐ ๐ `get_current_active_user` ๐ ๐ โ๏ธ `get_current_user` ๐.
-
-๐ฏโโ๏ธ ๐ ๐ ๐ ๐จ ๐บ๐ธ๐ โ ๐ฅ ๐ฉโ๐ป ๐ซ ๐, โ๏ธ ๐ฅ ๐.
-
-, ๐ ๐, ๐ฅ ๐ ๐ด ๐ค ๐ฉโ๐ป ๐ฅ ๐ฉโ๐ป ๐, โ ๐, & ๐ฆ:
-
-{* ../../docs_src/security/tutorial003.py hl[58:66,69:72,90] *}
-
-/// info
-
-๐ ๐ `WWW-Authenticate` โฎ๏ธ ๐ฒ `Bearer` ๐ฅ ๐ฌ ๐ฅ ๐ ๐.
-
-๐ ๐บ๐ธ๐ (โ) ๐ ๐ 4๏ธโฃ0๏ธโฃ1๏ธโฃ "โ" ๐ค ๐จ `WWW-Authenticate` ๐.
-
-๐ผ ๐จ ๐ค (๐ ๐ผ), ๐ฒ ๐ ๐ ๐ `Bearer`.
-
-๐ ๐ช ๐ค ๐ถ ๐ โ ๐ & โซ๏ธ ๐ ๐ท.
-
-โ๏ธ โซ๏ธ ๐ ๐ฅ ๐ ๏ธ โฎ๏ธ ๐ง.
-
-, ๐ค 5๏ธโฃ๐ ๐งฐ ๐ โ & โ๏ธ โซ๏ธ (๐ โ๏ธ ๐ฎ) & ๐ ๐ช โ ๐ โ๏ธ ๐ ๐ฉโ๐ป, ๐ โ๏ธ ๐ฎ.
-
-๐ ๐ฐ ๐ฉ...
-
-///
-
-## ๐ โซ๏ธ ๐ฏ
-
-๐ ๐ ๐ฉบ: http://127.0.0.1:8000/docs.
-
-### ๐
-
-๐ "โ" ๐ผ.
-
-โ๏ธ ๐:
-
-๐ฉโ๐ป: `johndoe`
-
-๐: `secret`
-
-
-
-โฎ๏ธ ๐ โ๏ธ, ๐ ๐ ๐ โซ๏ธ ๐:
-
-
-
-### ๐ค ๐ ๐ ๐ฉโ๐ป ๐ฝ
-
-๐ โ๏ธ ๐ ๏ธ `GET` โฎ๏ธ โก `/users/me`.
-
-๐ ๐ ๐ค ๐ ๐ฉโ๐ป ๐, ๐:
-
-```JSON
-{
- "username": "johndoe",
- "email": "johndoe@example.com",
- "full_name": "John Doe",
- "disabled": false,
- "hashed_password": "fakehashedsecret"
-}
-```
-
-
-
-๐ฅ ๐ ๐ ๐ โน & โ, & โคด๏ธ ๐ ๐ ๐ ๏ธ ๐, ๐ ๐ ๐ค ๐บ๐ธ๐ 4๏ธโฃ0๏ธโฃ1๏ธโฃ โ:
-
-```JSON
-{
- "detail": "Not authenticated"
-}
-```
-
-### ๐ ๐ฉโ๐ป
-
-๐ ๐ โฎ๏ธ ๐ ๐ฉโ๐ป, ๐ โฎ๏ธ:
-
-๐ฉโ๐ป: `alice`
-
-๐: `secret2`
-
-& ๐ โ๏ธ ๐ ๏ธ `GET` โฎ๏ธ โก `/users/me`.
-
-๐ ๐ ๐ค "๐ ๐ฉโ๐ป" โ, ๐:
-
-```JSON
-{
- "detail": "Inactive user"
-}
-```
-
-## ๐
-
-๐ ๐ โ๏ธ ๐งฐ ๐ ๏ธ ๐ ๐โโ โ๏ธ โ๏ธ ๐ `username` & `password` ๐ ๐ ๏ธ.
-
-โ๏ธ ๐ซ ๐งฐ, ๐ ๐ช โ ๐โโ โ๏ธ ๐ โฎ๏ธ ๐ ๐ฝ & โฎ๏ธ ๐ ๐ฉโ๐ป โ๏ธ ๐ฝ ๐ท.
-
-๐ด โน โ ๐ โซ๏ธ ๐ซ ๐ค "๐".
-
-โญ ๐ ๐ ๐ ๐ โ โ๏ธ ๐ ๐ ๐ ๐ & ๐ฅ ๐ค.
diff --git a/docs/em/docs/tutorial/static-files.md b/docs/em/docs/tutorial/static-files.md
deleted file mode 100644
index 27685c06d..000000000
--- a/docs/em/docs/tutorial/static-files.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# ๐ป ๐
-
-๐ ๐ช ๐ฆ ๐ป ๐ ๐ โช๏ธโก๏ธ ๐ โ๏ธ `StaticFiles`.
-
-## โ๏ธ `StaticFiles`
-
-* ๐ `StaticFiles`.
-* "๐ป" `StaticFiles()` ๐ ๐ฏ โก.
-
-{* ../../docs_src/static_files/tutorial001.py hl[2,6] *}
-
-/// note | ๐ก โน
-
-๐ ๐ช โ๏ธ `from starlette.staticfiles import StaticFiles`.
-
-**FastAPI** ๐ ๐ `starlette.staticfiles` `fastapi.staticfiles` ๐ช ๐, ๐ฉโ๐ป. โ๏ธ โซ๏ธ ๐ค ๐ ๐ โช๏ธโก๏ธ ๐.
-
-///
-
-### โซ๏ธโ "๐"
-
-"๐" โ โ ๐ "๐ฌ" ๐ธ ๐ฏ โก, ๐ โคด๏ธ โ ๐
๐ ๐ ๐ง-โก.
-
-๐ ๐ โช๏ธโก๏ธ โ๏ธ `APIRouter` ๐ป ๐ธ ๐ ๐ฌ. ๐ & ๐ฉบ โช๏ธโก๏ธ ๐ ๐ ๐ธ ๐ ๐ซ ๐ ๐ณ โช๏ธโก๏ธ ๐ป ๐ธ, โ๏ธ.
-
-๐ ๐ช โ ๐
๐ ๐ **๐ง ๐ฉโ๐ป ๐ฆฎ**.
-
-## โน
-
-๐ฅ `"/static"` ๐ ๐ง-โก ๐ "๐ง-๐ธ" ๐ "๐ป" ๐. , ๐ โก ๐ โถ๏ธ โฎ๏ธ `"/static"` ๐ ๐ต โซ๏ธ.
-
-`directory="static"` ๐ ๐ ๐ ๐ ๐ ๐ ๐ป ๐.
-
-`name="static"` ๐ค โซ๏ธ ๐ ๐ ๐ช โ๏ธ ๐ **FastAPI**.
-
-๐ ๐ซ ๐ข ๐ช ๐ ๐ "`static`", ๐ ๐ซ โฎ๏ธ ๐ช & ๐ฏ โน ๐ ๐ ๐ธ.
-
-## ๐
โน
-
-๐ โน & ๐ โ
๐ ๐ฉบ ๐ ๐ป ๐.
diff --git a/docs/em/docs/tutorial/testing.md b/docs/em/docs/tutorial/testing.md
deleted file mode 100644
index 2e4a531f7..000000000
--- a/docs/em/docs/tutorial/testing.md
+++ /dev/null
@@ -1,185 +0,0 @@
-# ๐ฌ
-
-๐ ๐, ๐ฌ **FastAPI** ๐ธ โฉ & ๐.
-
-โซ๏ธ โ๏ธ ๐ ๐ธ๐ฒ, โ ๐ ๐ โ๏ธ ๐ ๐จ, โซ๏ธ ๐ถ ๐ฐ & ๐๏ธ.
-
-โฎ๏ธ โซ๏ธ, ๐ ๐ช โ๏ธ โณ ๐ โฎ๏ธ **FastAPI**.
-
-## โ๏ธ `TestClient`
-
-/// info
-
-โ๏ธ `TestClient`, ๐ฅ โ `httpx`.
-
-๐คถ โ. `pip install httpx`.
-
-///
-
-๐ `TestClient`.
-
-โ `TestClient` ๐ถโโ๏ธ ๐ **FastAPI** ๐ธ โซ๏ธ.
-
-โ ๐ข โฎ๏ธ ๐ ๐ โถ๏ธ โฎ๏ธ `test_` (๐ ๐ฉ `pytest` ๐).
-
-โ๏ธ `TestClient` ๐ ๐ ๐ ๐ โฎ๏ธ `httpx`.
-
-โ ๐
`assert` ๐ โฎ๏ธ ๐ฉ ๐ ๐งฌ ๐ ๐ ๐ช โ
(๐, ๐ฉ `pytest`).
-
-{* ../../docs_src/app_testing/tutorial001.py hl[2,12,15:18] *}
-
-/// tip
-
-๐ ๐ ๐ฌ ๐ข ๐ `def`, ๐ซ `async def`.
-
- & ๐ค ๐ฉโ๐ป ๐ ๐ค, ๐ซ โ๏ธ `await`.
-
-๐ โ ๐ โ๏ธ `pytest` ๐ ๐ต ๐คข.
-
-///
-
-/// note | ๐ก โน
-
-๐ ๐ช โ๏ธ `from starlette.testclient import TestClient`.
-
-**FastAPI** ๐ ๐ `starlette.testclient` `fastapi.testclient` ๐ช ๐, ๐ฉโ๐ป. โ๏ธ โซ๏ธ ๐ ๐ โช๏ธโก๏ธ ๐.
-
-///
-
-/// tip
-
-๐ฅ ๐ ๐ ๐ค `async` ๐ข ๐ ๐ฏ โ๏ธ โช๏ธโก๏ธ ๐จ ๐จ ๐ FastAPI ๐ธ (โ
๐ ๐ฝ ๐ข), โ๏ธ ๐ [๐ ๐ฏ](../advanced/async-tests.md){.internal-link target=_blank} ๐ง ๐ฐ.
-
-///
-
-## ๐ ๐ฏ
-
-๐ฐ ๐ธ, ๐ ๐ฒ ๐ โ๏ธ ๐ ๐ฏ ๐ ๐.
-
-& ๐ **FastAPI** ๐ธ 5๏ธโฃ๐ โ ๐ ๐/๐น, โ๏ธ.
-
-### **FastAPI** ๐ฑ ๐
-
-โก๏ธ ๐ฌ ๐ โ๏ธ ๐ ๐ ๐ฌ [๐ฆ ๐ธ](bigger-applications.md){.internal-link target=_blank}:
-
-```
-.
-โโโ app
-โย ย โโโ __init__.py
-โย ย โโโ main.py
-```
-
-๐ `main.py` ๐ โ๏ธ ๐ **FastAPI** ๐ฑ:
-
-
-{* ../../docs_src/app_testing/main.py *}
-
-### ๐ฌ ๐
-
-โคด๏ธ ๐ ๐ช โ๏ธ ๐ `test_main.py` โฎ๏ธ ๐ ๐ฏ. โซ๏ธ ๐ช ๐ ๐ ๐ ๐ ๐ฆ (๐ ๐ โฎ๏ธ `__init__.py` ๐):
-
-``` hl_lines="5"
-.
-โโโ app
-โย ย โโโ __init__.py
-โย ย โโโ main.py
-โย ย โโโ test_main.py
-```
-
-โฉ๏ธ ๐ ๐ ๐ ๐ฆ, ๐ ๐ช โ๏ธ โ ๐ ๐ ๐ `app` โช๏ธโก๏ธ `main` ๐น (`main.py`):
-
-{* ../../docs_src/app_testing/test_main.py hl[3] *}
-
-...& โ๏ธ ๐ ๐ฏ ๐ โญ.
-
-## ๐ฌ: โ ๐ผ
-
-๐ โก๏ธ โ ๐ ๐ผ & ๐ฎ ๐ โน ๐ โ ๐ฏ ๐ ๐.
-
-### โ **FastAPI** ๐ฑ ๐
-
-โก๏ธ ๐ฃ โฎ๏ธ ๐ ๐ ๐ โญ:
-
-```
-.
-โโโ app
-โย ย โโโ __init__.py
-โย ย โโโ main.py
-โย ย โโโ test_main.py
-```
-
-โก๏ธ ๐ฌ ๐ ๐ ๐ `main.py` โฎ๏ธ ๐ **FastAPI** ๐ฑ โ๏ธ ๐ **โก ๐ ๏ธ**.
-
-โซ๏ธ โ๏ธ `GET` ๐ ๏ธ ๐ ๐ช ๐จ โ.
-
-โซ๏ธ โ๏ธ `POST` ๐ ๏ธ ๐ ๐ช ๐จ ๐ โ.
-
-๐ฏโโ๏ธ *โก ๐ ๏ธ* ๐ `X-Token` ๐.
-
-{* ../../docs_src/app_testing/app_b/main.py *}
-
-### โ ๐ฌ ๐
-
-๐ ๐ช โคด๏ธ โน `test_main.py` โฎ๏ธ โ ๐ฏ:
-
-{* ../../docs_src/app_testing/app_b/test_main.py *}
-
-๐โ ๐ ๐ช ๐ฉโ๐ป ๐ถโโ๏ธ โน ๐จ & ๐ ๐ซ ๐ญ โ, ๐ ๐ช ๐ (๐บ๐ธ๐) โ โซ๏ธ `httpx`, โ๏ธ โ โซ๏ธ โฎ๏ธ `requests`, ๐ธ๐ฒ ๐ง โ๏ธ ๐ ๐จ' ๐ง.
-
-โคด๏ธ ๐ ๐ ๐ ๐ฏ.
-
-๐คถ โ.:
-
-* ๐ถโโ๏ธ *โก* โ๏ธ *๐ข* ๐ข, ๐ฎ โซ๏ธ ๐ โซ๏ธ.
-* ๐ถโโ๏ธ ๐ป ๐ช, ๐ถโโ๏ธ ๐ ๐ (โ
`dict`) ๐ข `json`.
-* ๐ฅ ๐ ๐ช ๐จ *๐จ ๐ฝ* โฉ๏ธ ๐ป, โ๏ธ `data` ๐ข โฉ๏ธ.
-* ๐ถโโ๏ธ *๐*, โ๏ธ `dict` `headers` ๐ข.
-* *๐ช*, `dict` `cookies` ๐ข.
-
-๐ โน ๐ โ ๐ถโโ๏ธ ๐ฝ ๐ฉโ๐ป (โ๏ธ `httpx` โ๏ธ `TestClient`) โ
๐ธ๐ฒ ๐งพ.
-
-/// info
-
-๐ ๐ `TestClient` ๐จ ๐ฝ ๐ ๐ช ๐ ๐ป, ๐ซ Pydantic ๐ท.
-
-๐ฅ ๐ โ๏ธ Pydantic ๐ท ๐ ๐ฏ & ๐ ๐ ๐จ ๐ฎ ๐ฝ ๐ธ โฎ๏ธ ๐ฌ, ๐ ๐ช โ๏ธ `jsonable_encoder` ๐ฌ [๐ป ๐ ๐ข](encoder.md){.internal-link target=_blank}.
-
-///
-
-## ๐ โซ๏ธ
-
-โฎ๏ธ ๐, ๐ ๐ช โ `pytest`:
-
-