Files
cksd/app.py

33 lines
957 B
Python

from fastapi import FastAPI, Request
from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
from datetime import datetime
from models.ammeter_usage import AmmeterUsageModel
app = FastAPI()
templates = Jinja2Templates(directory="templates")
app.mount("/static", StaticFiles(directory="static"), name="static")
# 添加模板过滤器:时间戳转日期显示
def format_datetime(value):
try:
return datetime.fromtimestamp(value / 1000).strftime("%Y-%m-%d %H:%M")
except:
return value
# 🔥关键:为 Jinja2 添加过滤器
templates.env.filters["datetime"] = format_datetime
@app.get("/", response_class=HTMLResponse)
async def index(request: Request):
data = await AmmeterUsageModel.get_recent(6462, days=30)
return templates.TemplateResponse(
"index.html",
{"request": request, "room_id": 6462, "data": data},
)