feat: 添加网页进行访问查询

This commit is contained in:
2025-12-27 00:12:28 +08:00
parent 04fe771e8f
commit 3fbb216aa9
6 changed files with 245 additions and 5 deletions

32
app.py Normal file
View File

@@ -0,0 +1,32 @@
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},
)