ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΄Π΅Π»Π°Π» Π΅Π½ΠΊΠΎΠ΄Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ #pydantic BaseSettings ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π² Π²Π°Π»ΠΈΠ΄Π½ΡΠΉ toml.
Π§ΡΠΎ ΡΡΠΎ Π΄Π°Π΅Ρ?
1. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠ°ΠΉΠ» Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈ Π΅Π³ΠΎ ΡΠ°Π±Π»ΠΎΠ½, ΠΈ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ²Π΅ΡΡΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ ΠΌΠ°ΡΡΠΈΡΡΡ ΡΠ°ΠΉΠ» ΡΠΎ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π΄Π°Π½Π½ΡΡ , Π° ΠΏΡΠΎΡΡΠΎ ΡΠ³Π΅Π½Π΅ΡΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈΠ· ΡΡΡΡΠΊΡΡΡΡ, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
2. ΠΠΎΠ±Π°Π²ΠΈΠ» ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈΠ· Π°ΡΡΡΠΈΠ±ΡΡΠΎΠ² Field.title ΠΈ Field.description Π² Π²ΠΈΠ΄Π΅ Π²Π΅Π΄ΡΡΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π². Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π»Π΅Π·ΡΡ Π½Π° ΡΠ°ΠΉΡ, ΡΡΠΎ Π±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² - ΠΎΠ½ΠΈ Π²ΡΠ΅ ΡΠΆΠ΅ Π΅ΡΡΡ Π² ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ!
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ :
```python
class ImportsSettings(BaseSettings):
is_sorted: bool = Field(
default=True,
title='Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈΠΌΠΏΠΎΡΡΠΎΠ²',
description=(
'ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΡΡΠΎΠΊΠΈ ΠΈΠΌΠΏΠΎΡΡΠ°. Π‘ΠΎΡΡΠΈΡΡΠ΅Ρ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. '
'Π’.Π΅. ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠ»Π°ΡΡΠ° Ρ Π»ΡΠ±ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡ. '
'ΠΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ True.'
),
)
class StyleSettings(BaseSettings):
line_length: int = Field(80, title='ΠΠ»ΠΈΠ½Π½Π° ΡΡΡΠΎΠΊΠΈ', description='ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°')
imports: ImportsSettings = Field(default_factory=ImportsSettings, title='ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠΏΠΎΡΡΠΎΠ²')
```
ΠΏΠΎΡΠ»Π΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ toml-ΡΠ°ΠΉΠ»
```toml
### ΠΠ»ΠΈΠ½Π½Π° ΡΡΡΠΎΠΊΠΈ
# ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°
line_length = 80
[imports]
### Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈΠΌΠΏΠΎΡΡΠΎΠ²
# ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΡΡΠΎΠΊΠΈ ΠΈΠΌΠΏΠΎΡΡΠ°. Π‘ΠΎΡΡΠΈΡΡΠ΅Ρ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
# ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. Π’.Π΅. ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π»Ρ
# ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠ»Π°ΡΡΠ° Ρ Π»ΡΠ±ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
# True.
is_sorted = true
```