Files
LifeFaq/app.py
Henrik Jess 454de7aae5
Some checks failed
Build, Push, and Deploy to Nomad / docker-nomad (push) Failing after 4m31s
Loads of boiler plating
2024-12-10 16:40:17 +01:00

36 lines
1.1 KiB
Python

from fastapi import FastAPI, Request
from fastapi.staticfiles import StaticFiles
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
import json
import os
app = FastAPI()
# Mount static files
app.mount("/static", StaticFiles(directory="static"), name="static")
# Templates directory
templates = Jinja2Templates(directory="templates")
# Load JSON data
with open("mock_data.json") as file:
data = json.load(file)
# Index route
@app.get("/", response_class=HTMLResponse)
async def get_index(request: Request):
return templates.TemplateResponse("index.html", {"request": request, "data": data})
# Category route
@app.get("/category/{category_name}", response_class=HTMLResponse)
async def get_category(request: Request, category_name: str):
category_file = f"data/{category_name}/index.html"
if os.path.exists(category_file):
with open(category_file) as file:
category_content = file.read()
return templates.TemplateResponse(
"category.html",
{"request": request, "category_name": category_name, "content": category_content}
)
return HTMLResponse("Kategori ikke fundet", status_code=404)