/
PetrovSA
/
python-dev-course
Обзор
Документация
Войти
/
PetrovSA
/
python-dev-course
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Part 8 - FastAPI/L16/L16_4/main.py
59 строк
2 KB
PetrovSerega
Initial commit
08 май 2026, 17:14
08 май 2026, 17:14
9e45db8
Код
Авторство
О чём код?
# uvicorn L16_4.main:app --reload from fastapi import FastAPI # точка перед routers означает "в текущем пакете" from .routers import books, users # Либо так: # from L16_4.routers import books, users app = FastAPI() # region Разделение APIRouter Пример 1: Роутеры для книг и пользователей # Подключаем роутеры app.include_router(books.router) app.include_router(users.router) @app.get("/") async def root(): return {"message": "Главная страница"} # endregion # region Разделение APIRouter Пример 2: Роутер с дополнительным префиксом # Подключение роутера с переопределением префикса from fastapi import APIRouter # Можно создавать роутеры в main.py, но обычно так не делают product_router = APIRouter(prefix="/products") @product_router.get("/info") async def info(): return {"info": "Some data"} # При подключении можно добавить префикс, который будет предпослан всем маршрутам роутера # Итоговый путь к /info - /api/products/info app.include_router(product_router, prefix="/api") # endregion # region Конфигурация через Pydantic Settings. Пример 1: Pydantic Settings # from .config import settings # print(f"Имя приложения: {settings.app_name}") # print(f"URL базы данных: {settings.database_url}") # print(f"Секретный ключ: {settings.secret_key}") # app = FastAPI(title=settings.app_name) # endregion