-
-
Notifications
You must be signed in to change notification settings - Fork 6.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
π Add Russian translation for `docs/ru/docs/tutorial/path-params-numeβ¦
β¦ric-validations.md` (#9563) Co-authored-by: Vladislav Kramorenko <85196001+Xewus@users.noreply.github.com>
- Loading branch information
Showing
2 changed files
with
293 additions
and
0 deletions.
There are no files selected for viewing
292 changes: 292 additions & 0 deletions
292
docs/ru/docs/tutorial/path-params-numeric-validations.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,292 @@ | ||
# Path-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ | ||
|
||
Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `Query` Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ query-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠ°ΠΊ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `Path` Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°ΠΊΡΡ ΠΆΠ΅ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ path-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². | ||
|
||
## ΠΠΌΠΏΠΎΡΡ Path | ||
|
||
Π‘Π½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ `Path` ΠΈΠ· `fastapi`, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ `Annotated`: | ||
|
||
=== "Python 3.10+" | ||
|
||
```Python hl_lines="1 3" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial001_an_py310.py!} | ||
``` | ||
|
||
=== "Python 3.9+" | ||
|
||
```Python hl_lines="1 3" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial001_an_py39.py!} | ||
``` | ||
|
||
=== "Python 3.6+" | ||
|
||
```Python hl_lines="3-4" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial001_an.py!} | ||
``` | ||
|
||
=== "Python 3.10+ Π±Π΅Π· Annotated" | ||
|
||
!!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°" | ||
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. | ||
|
||
```Python hl_lines="1" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial001_py310.py!} | ||
``` | ||
|
||
=== "Python 3.6+ Π±Π΅Π· Annotated" | ||
|
||
!!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°" | ||
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. | ||
|
||
```Python hl_lines="3" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial001.py!} | ||
``` | ||
|
||
!!! info "ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ" | ||
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° `Annotated` Π±ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² FastAPI Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 0.95.0 (ΠΈ Ρ ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄). | ||
|
||
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡ, Π²Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΡΠ΅ΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `Annotated`. | ||
|
||
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ [ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΡ FastAPI](../deployment/versions.md#upgrading-the-fastapi-versions){.internal-link target=_blank} ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄ΠΎ 0.95.1 ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `Annotated`. | ||
|
||
## ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ | ||
|
||
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ ΡΠ΅ ΠΆΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΡΠΎ ΠΈ Π΄Π»Ρ `Query`. | ||
|
||
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ `title` Π΄Π»Ρ path-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° `item_id`, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ: | ||
|
||
=== "Python 3.10+" | ||
|
||
```Python hl_lines="10" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial001_an_py310.py!} | ||
``` | ||
|
||
=== "Python 3.9+" | ||
|
||
```Python hl_lines="10" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial001_an_py39.py!} | ||
``` | ||
|
||
=== "Python 3.6+" | ||
|
||
```Python hl_lines="11" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial001_an.py!} | ||
``` | ||
|
||
=== "Python 3.10+ Π±Π΅Π· Annotated" | ||
|
||
!!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°" | ||
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. | ||
|
||
```Python hl_lines="8" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial001_py310.py!} | ||
``` | ||
|
||
=== "Python 3.6+ Π±Π΅Π· Annotated" | ||
|
||
!!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°" | ||
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. | ||
|
||
```Python hl_lines="10" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial001.py!} | ||
``` | ||
|
||
!!! note "ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅" | ||
Path-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°ΡΡΡ ΠΏΡΡΠΈ. | ||
|
||
ΠΠΎΡΡΠΎΠΌΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `...`, ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ. | ||
|
||
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΊΠ°ΠΊ `None` ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΡΠΎ Π½ΠΈ Π½Π° ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ. | ||
|
||
## ΠΠ°Π΄Π°ΠΉΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² | ||
|
||
!!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°" | ||
ΠΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ `Annotated`. | ||
|
||
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΡΠ²ΠΈΡΡ query-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `q` ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° `str`. | ||
|
||
Π Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΡΠΎ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `Query`. | ||
|
||
ΠΠΎ Π²Π°ΠΌ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `Path` Π΄Π»Ρ path-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° `item_id`. Π Π΅ΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `Annotated`, ΡΠΎ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ. | ||
|
||
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΎ Python ΡΠΊΠ°ΠΆΠ΅Ρ Π½Π° ΠΎΡΠΈΠ±ΠΊΡ. | ||
|
||
ΠΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π±Π΅Π· Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (query-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `q`) ΡΡΠ» ΠΏΠ΅ΡΠ²ΡΠΌ. | ||
|
||
ΠΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ **FastAPI**. ΠΠ½ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎ ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌ, ΡΠΈΠΏΠ°ΠΌ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (`Query`, `Path`, ΠΈ Ρ.Π΄.), Π΅ΠΌΡ Π½Π΅ Π²Π°ΠΆΠ΅Π½ ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ. | ||
|
||
ΠΠΎΡΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΊ: | ||
|
||
=== "Python 3.6 Π±Π΅Π· Annotated" | ||
|
||
!!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°" | ||
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. | ||
|
||
```Python hl_lines="7" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial002.py!} | ||
``` | ||
|
||
ΠΠΎ ΠΈΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ `Annotated`, Π²Ρ Π½Π΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΠ΅ΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ `Query()` ΠΈΠ»ΠΈ `Path()` Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ. | ||
|
||
=== "Python 3.9+" | ||
|
||
```Python hl_lines="10" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial002_an_py39.py!} | ||
``` | ||
|
||
=== "Python 3.6+" | ||
|
||
```Python hl_lines="9" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial002_an.py!} | ||
``` | ||
|
||
## ΠΠ°Π΄Π°ΠΉΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΏΡΠΈΡΠΌΡ | ||
|
||
!!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°" | ||
ΠΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ `Annotated`. | ||
|
||
ΠΠ΄Π΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½ **Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΌ**, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΌ, Ρ ΠΎΡΡ ΡΠ°ΡΡΠΎ ΠΎΠ½ Π²Π°ΠΌ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ. | ||
|
||
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅: | ||
|
||
* ΠΎΠ±ΡΡΠ²ΠΈΡΡ query-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `q` Π±Π΅Π· `Query` ΠΈ Π±Π΅Π· Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ||
* ΠΎΠ±ΡΡΠ²ΠΈΡΡ path-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `item_id` Ρ ΠΏΠΎΠΌΠΎΡΡΡ `Path` | ||
* ΡΠΊΠ°Π·Π°ΡΡ ΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ | ||
* Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `Annotated` | ||
|
||
...ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Python. | ||
|
||
ΠΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ `*` Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ. | ||
|
||
Python Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π΄Π΅Π»Π°ΡΡ Ρ `*`, Π½ΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ (ΠΏΠ°ΡΠ°ΠΌΠΈ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅), ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ ΠΊΠ°ΠΊ <abbr title="From: K-ey W-ord Arg-uments"><code>kwargs</code></abbr>, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Ρ Π½ΠΈΡ Π½Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. | ||
|
||
```Python hl_lines="7" | ||
{!../../../docs_src/path_params_numeric_validations/tutorial003.py!} | ||
``` | ||
|
||
### ΠΡΡΡΠ΅ Ρ `Annotated` | ||
|
||
ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ `Annotated`, ΡΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ Ρ Π²Π°Ρ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `*`. | ||
|
||
=== "Python 3.9+" | ||
|
||
```Python hl_lines="10" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial003_an_py39.py!} | ||
``` | ||
|
||
=== "Python 3.6+" | ||
|
||
```Python hl_lines="9" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial003_an.py!} | ||
``` | ||
|
||
## ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ : Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ | ||
|
||
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ `Query` ΠΈ `Path` (ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΠΏΠΎΠ·ΠΆΠ΅) Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ . | ||
|
||
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ `ge=1`, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `item_id` Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π΅Π½ `1` ("`g`reater than or `e`qual"). | ||
|
||
=== "Python 3.9+" | ||
|
||
```Python hl_lines="10" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial004_an_py39.py!} | ||
``` | ||
|
||
=== "Python 3.6+" | ||
|
||
```Python hl_lines="9" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial004_an.py!} | ||
``` | ||
|
||
=== "Python 3.6+ Π±Π΅Π· Annotated" | ||
|
||
!!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°" | ||
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. | ||
|
||
```Python hl_lines="8" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial004.py!} | ||
``` | ||
|
||
## ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ : Π±ΠΎΠ»ΡΡΠ΅ ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ | ||
|
||
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΊ: | ||
|
||
* `gt`: Π±ΠΎΠ»ΡΡΠ΅ (`g`reater `t`han) | ||
* `le`: ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ (`l`ess than or `e`qual) | ||
|
||
=== "Python 3.9+" | ||
|
||
```Python hl_lines="10" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial005_an_py39.py!} | ||
``` | ||
|
||
=== "Python 3.6+" | ||
|
||
```Python hl_lines="9" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial005_an.py!} | ||
``` | ||
|
||
=== "Python 3.6+ Π±Π΅Π· Annotated" | ||
|
||
!!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°" | ||
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. | ||
|
||
```Python hl_lines="9" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial005.py!} | ||
``` | ||
|
||
## ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ : ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ, Π±ΠΎΠ»ΡΡΠ΅ ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ | ||
|
||
ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΡΠΈΠΏΠ° `float`. | ||
|
||
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ <abbr title="greater than"><code>gt</code></abbr>, Π²ΠΌΠ΅ΡΡΠΎ <abbr title="greater than or equal"><code>ge</code></abbr>, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠ΅ `0`, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ `1`. | ||
|
||
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, `0.5` Π±ΡΠ΄Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. Π `0.0` ΠΈΠ»ΠΈ `0` β Π½Π΅Ρ. | ||
|
||
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΠΈ Π΄Π»Ρ <abbr title="less than"><code>lt</code></abbr>. | ||
|
||
=== "Python 3.9+" | ||
|
||
```Python hl_lines="13" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial006_an_py39.py!} | ||
``` | ||
|
||
=== "Python 3.6+" | ||
|
||
```Python hl_lines="12" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial006_an.py!} | ||
``` | ||
|
||
=== "Python 3.6+ Π±Π΅Π· Annotated" | ||
|
||
!!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°" | ||
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. | ||
|
||
```Python hl_lines="11" | ||
{!> ../../../docs_src/path_params_numeric_validations/tutorial006.py!} | ||
``` | ||
|
||
## Π Π΅Π·ΡΠΌΠ΅ | ||
|
||
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ `Query`, `Path` (ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°ΡΡΠΎΠ½ΡΠ»ΠΈ) Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ Π² Π³Π»Π°Π²Π΅ [Query-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΡΡΠΎΠΊ](query-params-str-validations.md){.internal-link target=_blank}. | ||
|
||
Π ΡΠ°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ : | ||
|
||
* `gt`: Π±ΠΎΠ»ΡΡΠ΅ (`g`reater `t`han) | ||
* `ge`: Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ (`g`reater than or `e`qual) | ||
* `lt`: ΠΌΠ΅Π½ΡΡΠ΅ (`l`ess `t`han) | ||
* `le`: ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ (`l`ess than or `e`qual) | ||
|
||
!!! info "ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ" | ||
`Query`, `Path` ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΠΏΠΎΠ·ΠΆΠ΅, ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° `Param`. | ||
|
||
ΠΡΠ΅ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅ ΠΆΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ°Π½Π΅Π΅. | ||
|
||
!!! note "Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ" | ||
`Query`, `Path` ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ "ΠΊΠ»Π°ΡΡΡ", ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΠ΅ ΠΈΠ· `fastapi`, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΡΠ½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². | ||
|
||
ΠΠ±ΡΠ΅ΠΊΡ `Query`, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΠ΅, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. Π ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΡΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° `Query`. | ||
|
||
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ (Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π°ΠΏΡΡΠΌΡΡ) Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²Π°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π» ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΈΡ ΡΠΈΠΏΠ°ΠΌΠΈ. | ||
|
||
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΉ Π²Π°ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters