Starlette — це легкий фреймворк/набір інструментів <abbrtitle="The new standard for building asynchronous Python web applications - Новий стандарт для створення асинхронних Python вебзастосунків">ASGI</abbr>, який ідеально підходить для створення високопродуктивних asyncio сервісів.
Starlette — це легкий фреймворк/набір інструментів <abbrtitle="Новий стандарт для створення асинхронних Python вебзастосунків">ASGI</abbr>, який ідеально підходить для створення високопродуктивних asyncio сервісів.
Він дуже простий та інтуїтивно зрозумілий. Його розроблено таким чином, щоб його можна було легко розширювати та мати модульні компоненти.
Він дуже простий та інтуїтивно зрозумілий. Його розроблено таким чином, щоб його можна було легко розширювати та мати модульні компоненти.
# та отримайте підтримку редактора всередині функції
def main(user_id: str):
def main(user_id: str):
return user_id
return user_id
# A Pydantic model
# Модель Pydantic
class User(BaseModel):
class User(BaseModel):
id: int
id: int
name: str
name: str
@ -136,7 +136,7 @@ FastAPI має розумні **налаштування за замовчува
### Впровадження залежностей { #dependency-injection }
### Впровадження залежностей { #dependency-injection }
FastAPI містить надзвичайно просту у використанні, але надзвичайно потужну систему <abbrtitle='also known as "components", "resources", "services", "providers"'><strong>Dependency Injection</strong></abbr>.
FastAPI містить надзвичайно просту у використанні, але надзвичайно потужну систему <abbrtitle='також відоме як: "components", "resources", "services", "providers"'><strong>Dependency Injection</strong></abbr>.
* Навіть залежності можуть мати власні залежності, утворюючи ієрархію або **«граф» залежностей**.
* Навіть залежності можуть мати власні залежності, утворюючи ієрархію або **«граф» залежностей**.
* Усе **автоматично обробляється** фреймворком.
* Усе **автоматично обробляється** фреймворком.
@ -179,7 +179,7 @@ FastAPI містить надзвичайно просту у використа
**FastAPI** повністю сумісний із (та побудований на основі) <ahref="https://docs.pydantic.dev/"class="external-link"target="_blank"><strong>Pydantic</strong></a>. Тому будь-який додатковий код Pydantic, який ви маєте, також працюватиме.
**FastAPI** повністю сумісний із (та побудований на основі) <ahref="https://docs.pydantic.dev/"class="external-link"target="_blank"><strong>Pydantic</strong></a>. Тому будь-який додатковий код Pydantic, який ви маєте, також працюватиме.
Включно із зовнішніми бібліотеками, які також базуються на Pydantic, як-от <abbrtitle="Object-Relational Mapper">ORM</abbr>-и, <abbrtitle="Object-Document Mapper">ODM</abbr>-и для баз даних.
Включно із зовнішніми бібліотеками, які також базуються на Pydantic, як-от <abbrtitle="Object-Relational Mapper - Об'єктно-реляційний відображувач">ORM</abbr>-и, <abbrtitle="Object-Document Mapper - Об'єктно-документний відображувач">ODM</abbr>-и для баз даних.
Це також означає, що в багатьох випадках ви можете передати той самий об'єкт, який отримуєте із запиту, **безпосередньо в базу даних**, оскільки все автоматично перевіряється.
Це також означає, що в багатьох випадках ви можете передати той самий об'єкт, який отримуєте із запиту, **безпосередньо в базу даних**, оскільки все автоматично перевіряється.
@ -190,7 +190,7 @@ FastAPI містить надзвичайно просту у використа
* **Ніякої плутанини**:
* **Ніякої плутанини**:
* Не потрібно вчити нову мікромову для визначення схем.
* Не потрібно вчити нову мікромову для визначення схем.
* Якщо ви знаєте типи Python, ви знаєте, як використовувати Pydantic.
* Якщо ви знаєте типи Python, ви знаєте, як використовувати Pydantic.
* Легко працює з вашим **<abbrtitle="Integrated Development Environment: similar to a code editor">IDE</abbr>/<abbrtitle="A program that checks for code errors">linter</abbr>/мозком**:
* Легко працює з вашим **<abbrtitle="Integrated Development Environment - Інтегроване середовище розробки: схоже на код-редактор">IDE</abbr>/<abbrtitle="Програма, що перевіряє код на помилки">linter</abbr>/мозком**:
* Оскільки структури даних pydantic є просто екземплярами класів, які ви визначаєте; автодоповнення, лінтинг, mypy і ваша інтуїція повинні добре працювати з вашими перевіреними даними.
* Оскільки структури даних pydantic є просто екземплярами класів, які ви визначаєте; автодоповнення, лінтинг, mypy і ваша інтуїція повинні добре працювати з вашими перевіреними даними.
* Валідує **складні структури**:
* Валідує **складні структури**:
* Використання ієрархічних моделей Pydantic, Python `typing`’s `List` і `Dict` тощо.
* Використання ієрархічних моделей Pydantic, Python `typing`’s `List` і `Dict` тощо.