feat: 添加网页进行访问查询
This commit is contained in:
32
app.py
Normal file
32
app.py
Normal 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},
|
||||
)
|
||||
Reference in New Issue
Block a user