You need to sign in or sign up before continuing.
Select Git revision
-
Дмитрий Коваленок authoredДмитрий Коваленок authored
This project manages its dependencies using Bundler.
Learn more
server.py 769 B
from calculator.calculator import Calculator
from fastapi import FastAPI
from fastapi.requests import Request
from fastapi.templating import Jinja2Templates
app = FastAPI()
templates = Jinja2Templates(directory="calculator/templates")
calc = Calculator()
@app.get("/")
async def root(request: Request):
"""
Default and only route of the web calculator.
Expects either no query parameters or a single query parameter named "expression".
"""
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)