31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
# routes/web.py
|
||
from fastapi import APIRouter, Request
|
||
from fastapi.templating import Jinja2Templates
|
||
from sqlalchemy import text
|
||
from app.database.session import engine
|
||
|
||
router = APIRouter()
|
||
templates = Jinja2Templates(directory="templates")
|
||
|
||
@router.get("/")
|
||
def home(request: Request):
|
||
db_info = {"status": "❌ Не удалось подключиться", "url": ""}
|
||
|
||
try:
|
||
# Пробуем выполнить простой запрос
|
||
with engine.connect() as conn:
|
||
result = conn.execute(text("SELECT 1"))
|
||
if result.fetchone():
|
||
db_info["status"] = "✅ Подключено"
|
||
db_info["url"] = str(engine.url)
|
||
except Exception as e:
|
||
db_info["status"] = f"❌ Ошибка: {str(e)[:60]}..." # Обрезаем длинные ошибки
|
||
|
||
return templates.TemplateResponse(
|
||
"index.html",
|
||
{
|
||
"request": request,
|
||
"title": "FastAPI + SQLite",
|
||
"db_info": db_info
|
||
}
|
||
) |