lerafoxqueen/LeraFoxQueen/main.py

44 lines
1.2 KiB
Python

# import pathlib
from fastapi import FastAPI, Request
from fastapi.templating import Jinja2Templates
from fastapi.staticfiles import StaticFiles
from fastapi.responses import HTMLResponse
import uuid
from contextlib import asynccontextmanager
from .database import create_tables, delete_tables
from .router import router as datings_router
from .validity import is_valid_uuid
@asynccontextmanager
async def lifespan(app: FastAPI):
await create_tables()
print("База готова")
yield
# await delete_tables()
# print("База очищена")
pass
# app = FastAPI(lifespan=lifespan)
app = FastAPI(lifespan=lifespan, docs_url=None, redoc_url=None, openapi_url=None)
templates = Jinja2Templates(directory="templates")
app.include_router(datings_router)
app.mount("/static", StaticFiles(directory="static"), name="static")
@app.get("/", response_class=HTMLResponse)
async def index(request: Request):
response = templates.TemplateResponse("index.html", {"request": request})
sessionKey = request.cookies.get("sessionkey")
if isinstance(sessionKey, str) and is_valid_uuid(sessionKey):
pass
else:
response.set_cookie(key="sessionkey", value=str(uuid.uuid4()))
return response