/
electro_bayan
/
area_safety
Обзор
Документация
Войти
/
electro_bayan
/
area_safety
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/app.py
37 строк
1016 B
Artem
Initial
21 сен 2024, 09:38
21 сен 2024, 09:38
ded25b8
Код
Авторство
О чём код?
from fastapi import FastAPI import uvicorn from fastapi_cache import FastAPICache from fastapi_cache.backends.redis import RedisBackend from fastapi_cache.decorator import cache from redis import asyncio as aioredis from collections.abc import AsyncIterator from sqladmin import Admin from core.db.session import engine from models.user import UserAdmin from api.routers import routers from config import settings from contextlib import asynccontextmanager import logging logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s") @asynccontextmanager async def lifespan(_: FastAPI) -> AsyncIterator[None]: redis = aioredis.from_url(settings.REDIS_URL) FastAPICache.init(RedisBackend(redis), prefix="fastapi-cache") yield app = FastAPI(lifespan=lifespan, root_path='/api') admin = Admin(app, engine, base_url='/admin') admin.add_view(UserAdmin) for router in routers: app.include_router(router) if __name__ == "__main__": uvicorn.run("app:app", reload=True)