Найти в Дзене
FastAPI 2: Routing
На данный момент все наши endpoint-ы находятся в файле `main.py` и никак логически не разделены между собой. Создаём способ подключения endpoint-ов Код В файле `example_router/api/v1.py` пишем: from fastapi import APIRouter router = APIRouter() @router.get('/test_from_example_router') def return_test(): return {'message': 'ok'} В файле `example_router/api/__init__.py` пишем: from . import v1 В файле `example_router/__init__.py` пишем: from fastapi import APIRouter from . import api router = APIRouter() router.include_router(api.v1.router) # add imports for v2, v3, v4 ... В файле `main.py` прописываем: from fastapi import FastAPI import api...
1 год назад
FastAPI 1: Get started
Инициализация Начнём с создания виртуальной среды. Какой есть выбор? Poetry Интересный факт - три раза я собеседовался в Яндекс на различные роли в различные продукты, и ни один из собеседующих "сеньёров" либо не знал, что это такое, либо, цитата: "я не разобрался, с ним". Тут по накатанной, заходим на официальный сайт - https://python-poetry.org/docs/ и следуем инструкциям. Если вы на Windows (как я), то советую использовать опцию установки через pipx. Это убережёт ваши нервы, если вы захотите переустановить poetry в будущем. В конце - `poetry --version` Создание проекта 4. На выходе у нас в папке создастся файл `pyproject...
1 год назад
FastAPI 0: Начало
Какой есть выбор? В мире python веб-фреймворков есть три основных кандидата: FastAPI как выбор после Django После нескольких лет работы с Django, я начал искать альтернативы, рассматривая Flask и FastAPI. Мой выбор пал на FastAPI по следующим причинам: Однако, как и с Flask, у FastAPI нет строгой структуры построения приложения, как в Django. Каждый новый сервис, который я создавал, оказывался похожим, но в то же время сильно отличающимся от предыдущих, из-за экспериментов с различными паттернами проектирования. Это привело к основной проблеме: из-за отсутствия структурных ограничений FastAPI, я начал искать open source шаблоны, чтобы найти оптимальный подход...
1 год назад
This post has 4 likes and 2 comments
Python предлагает различные подходы к параллельной обработке и асинхронному программированию. Основные модели - это многопоточность (multithreading), многопроцессорность (multiprocessing) и асинхронное программирование (async). У них есть свои особенности, преимущества и области применения. Выбор правильной модели: Понимание различий между многопоточностью, многопроцессорностью и асинхронным программированием в Python критически важно для оптимизации производительности и использования ресурсов в различных сценариях...
1 год назад