|
|
from fastapi import FastAPI |
|
|
from starlette.middleware.sessions import SessionMiddleware |
|
|
from starlette.requests import Request |
|
|
from starlette.responses import HTMLResponse |
|
|
from starlette.templating import Jinja2Templates |
|
|
|
|
|
from app.core.config import settings |
|
|
from app.api.v1.api import api_router |
|
|
|
|
|
app = FastAPI(title=settings.PROJECT_NAME) |
|
|
|
|
|
|
|
|
|
|
|
app.add_middleware( |
|
|
SessionMiddleware, |
|
|
secret_key=settings.SECRET_KEY, |
|
|
https_only=False |
|
|
) |
|
|
|
|
|
|
|
|
app.include_router(api_router) |
|
|
|
|
|
|
|
|
templates = Jinja2Templates(directory="app/templates") |
|
|
|
|
|
@app.get("/", response_class=HTMLResponse) |
|
|
async def root(request: Request): |
|
|
user = request.session.get("user") |
|
|
return templates.TemplateResponse("index.html", {"request": request, "user": user}) |
|
|
|
|
|
if __name__ == "__main__": |
|
|
import uvicorn |
|
|
uvicorn.run("app.main:app", host="0.0.0.0", port=8000, reload=True) |