proandosi / app.py
jorgencio's picture
test2
83afe32
raw
history blame
1.45 kB
from fastapi import FastAPI
from fastapi.responses import HTMLResponse
from fastapi import FastAPI
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
from fastapi import Request
from fastapi.staticfiles import StaticFiles
app = FastAPI()
# Configura las plantillas Jinja2
templates = Jinja2Templates(directory="templates")
# Define el personaje
personaje = "rias"
# Monta la carpeta 'static' para servir archivos estáticos
app.mount("/static", StaticFiles(directory="static"), name="static")
# Ruta para mostrar los personajes
@app.get("/", response_class=HTMLResponse)
async def read_html(request: Request):
return templates.TemplateResponse("listapersonajes.html", {"request": request})
# Ruta dinámica para cada personaje
@app.get("/personajes/{personaje}", response_class=HTMLResponse)
async def personaje_detalle(request: Request, personaje: str):
# El contexto es el nombre de la imagen que se usará
context = {
"character_image": f"{personaje}.jpg" , # Asume que el nombre de la imagen es igual al personaje
"character_name": personaje.capitalize() # Nombre del personaje con la primera letra en mayúscula
}
return templates.TemplateResponse("chat.html", {"request": request, **context})
@app.get("/", response_class=HTMLResponse)
def read_html():
with open("templates/chat.html", "r") as f:
html_content = f.read()
return html_content