]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Add Russian translation for `docs/ru/docs/fastapi-cli.md` (#13041)
authoralv2017 <v.alishauskaite@gmail.com>
Mon, 9 Dec 2024 12:49:43 +0000 (14:49 +0200)
committerGitHub <noreply@github.com>
Mon, 9 Dec 2024 12:49:43 +0000 (12:49 +0000)
docs/ru/docs/fastapi-cli.md [new file with mode: 0644]

diff --git a/docs/ru/docs/fastapi-cli.md b/docs/ru/docs/fastapi-cli.md
new file mode 100644 (file)
index 0000000..c0be4a5
--- /dev/null
@@ -0,0 +1,75 @@
+# FastAPI CLI
+
+**FastAPI CLI** ΡΡ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡ‚Ρ€ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π»Ρ Π·Π°ΠΏΡƒΡΠΊΠ° Π²Π°ΡˆΠ΅Π³ΠΎ FastAPI ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄Π»Ρ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ FastAPI-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ.
+
+`fastapi-cli` ΡƒΡΡ‚анавливаСтся Π²ΠΌΠ΅ΡΡ‚Π΅ ΡΠΎ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ FastAPI (ΠΏΡ€ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ `pip install "fastapi[standard]"`). Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚авляСт Π΄ΠΎΡΡ‚ΡƒΠΏ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ `fastapi` Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π».
+
+Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ FastAPI Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ `fastapi dev`:
+
+<div class="termy">
+
+```console
+$ <font color="#4E9A06">fastapi</font> dev <u style="text-decoration-style:solid">main.py</u>
+
+  <span style="background-color:#009485"><font color="#D3D7CF"> FastAPI </font></span>  Starting development server πŸš€
+
+             Searching for package file structure from directories with
+             <font color="#3465A4">__init__.py</font> files
+             Importing from <font color="#75507B">/home/user/code/</font><font color="#AD7FA8">awesomeapp</font>
+
+   <span style="background-color:#007166"><font color="#D3D7CF"> module </font></span>  πŸ main.py
+
+     <span style="background-color:#007166"><font color="#D3D7CF"> code </font></span>  Importing the FastAPI app object from the module with the
+             following code:
+
+             <u style="text-decoration-style:solid">from </u><u style="text-decoration-style:solid"><b>main</b></u><u style="text-decoration-style:solid"> import </u><u style="text-decoration-style:solid"><b>app</b></u>
+
+      <span style="background-color:#007166"><font color="#D3D7CF"> app </font></span>  Using import string: <font color="#3465A4">main:app</font>
+
+   <span style="background-color:#007166"><font color="#D3D7CF"> server </font></span>  Server started at <font color="#729FCF"><u style="text-decoration-style:solid">http://127.0.0.1:8000</u></font>
+   <span style="background-color:#007166"><font color="#D3D7CF"> server </font></span>  Documentation at <font color="#729FCF"><u style="text-decoration-style:solid">http://127.0.0.1:8000/docs</u></font>
+
+      <span style="background-color:#007166"><font color="#D3D7CF"> tip </font></span>  Running in development mode, for production use:
+             <b>fastapi run</b>
+
+             Logs:
+
+     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Will watch for changes in these directories:
+             <b>[</b><font color="#4E9A06">&apos;/home/user/code/awesomeapp&apos;</font><b>]</b>
+     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Uvicorn running on <font color="#729FCF"><u style="text-decoration-style:solid">http://127.0.0.1:8000</u></font> <b>(</b>Press CTRL+C to
+             quit<b>)</b>
+     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Started reloader process <b>[</b><font color="#34E2E2"><b>383138</b></font><b>]</b> using WatchFiles
+     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Started server process <b>[</b><font color="#34E2E2"><b>383153</b></font><b>]</b>
+     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Waiting for application startup.
+     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Application startup complete.
+```
+
+</div>
+
+ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡ‚Ρ€ΠΎΠΊΠΈ `fastapi` ΡΡ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ **FastAPI CLI**.
+
+FastAPI CLI Π±Π΅Ρ€Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ ΠΊ Π²Π°ΡˆΠ΅ΠΉ Python-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (Π½Π°ΠΏΡ€. `main.py`) ΠΈ Π°Π²Ρ‚оматичСски Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ `FastAPI` (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΡ‚ΠΎ `app`), Π·Π°Ρ‚Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ†Π΅ΡΡ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Π΅Ρ‚ ΡΠ΅Ρ€Π²Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
+
+Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² production ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π²ΠΌΠ΅ΡΡ‚ΠΎ `fastapi dev` Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ `fastapi run`. πŸš€
+
+Π’Π½ΡƒΡ‚Ρ€ΠΈ **FastAPI CLI** ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся <a href="https://www.uvicorn.org" class="external-link" target="_blank">Uvicorn</a>, Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² production ΡΠ΅Ρ€Π²Π΅Ρ€ ASGI. πŸ˜Ž
+
+## `fastapi dev`
+
+Π’Ρ‹Π·ΠΎΠ² `fastapi dev` Π·Π°ΠΏΡƒΡΠΊΠ°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
+
+По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π°Π²Ρ‚оматичСская ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° (**auto-reload**), Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Ρ ΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΡΠ΅Ρ€Π²Π΅Ρ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π­Ρ‚Π° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡΡƒΡ€ΡΠΎΠ² ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ ΡΠΈΡΡ‚Π΅ΠΌΡƒ ΠΌΠ΅Π½Π΅Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Ρ‘ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ Π²Ρ…одящиС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° IP `127.0.0.1`. Π­Ρ‚ΠΎ IP Π°Π΄Ρ€Π΅Ρ Π²Π°ΡˆΠ΅ΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π΄Π»Ρ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ (`localhost`).
+
+## `fastapi run`
+
+Π’Ρ‹Π·ΠΎΠ² `fastapi run` ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π·Π°ΠΏΡƒΡΠΊΠ°Π΅Ρ‚ FastAPI Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ production.
+
+По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ **auto-reload** ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ Π²Ρ…одящиС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° IP `0.0.0.0`, Ρ‚.Π΅. Π½Π° Π²ΡΠ΅Ρ… Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Ρ‹Ρ… Π°Π΄Ρ€Π΅ΡΠ°Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΌ Π΄ΠΎΡΡ‚ΡƒΠΏΠ΅ Π΄Π»Ρ Π»ΡŽΠ±ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΊ Π²Π°ΡˆΠ΅ΠΉ ΠΌΠ°ΡˆΠΈΠ½Π΅. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ся ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².
+
+Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΡΠ»ΡƒΡ‡Π°Π΅Π² Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ (ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΊΡΠΈ-сСрвСр ("termination proxy"), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ HTTPS ΠΏΠΎΠ²Π΅Ρ€Ρ… Π²Π°ΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’сё Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: Π·Π° Π²Π°Ρ ΡΡ‚ΠΎ Π»ΠΈΠ±ΠΎ ΡΠ΄Π΅Π»Π°Π΅Ρ‚ Π²Π°Ρˆ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€, Π»ΠΈΠ±ΠΎ Π²Π°ΠΌ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.
+
+/// tip | ΠŸΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°
+
+Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±ΠΎΠ»ΡŒΡˆΠ΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎΠ± ΡΡ‚ΠΎΠΌ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ [deployment documentation](deployment/index.md){.internal-link target=_blank}.
+
+///