from fastapi import FastAPI from fastapi.requests import Request from fastapi.templating import Jinja2Templates from Calculator import Calculator app = FastAPI() templates = Jinja2Templates(directory="templates") calc = Calculator() @app.get("/icon") @app.get("/") async def root(request: Request): expression = request.query_params.get("expression", "") context = { "request": request } if expression: result = calc(expression) context = { "request": request, "expression": expression, "result": result} return templates.TemplateResponse("index.html", context)