Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

198
Vistas
FastAPI no carga archivos estáticos

Entonces, estoy cambiando mi proyecto de node.js a python FastAPI. Todo ha estado funcionando bien con el nodo, pero aquí dice que mis archivos estáticos no están presentes, así que aquí está el código:

 from fastapi import FastAPI, Request, WebSocket from fastapi.responses import HTMLResponse from fastapi.staticfiles import StaticFiles from fastapi.templating import Jinja2Templates app = FastAPI() app.mount("/static", StaticFiles(directory="../static"), name="static") templates = Jinja2Templates(directory='../templates') @app.get('/') async def index_loader(request: Request): return templates.TemplateResponse('index.html', {"request": request})

La estructura del proyecto se ve así:
Estructura del proyecto

Los archivos claramente están donde deberían estar, pero cuando me conecto al sitio web aparece el siguiente error:

 ←[32mINFO←[0m: connection closed ←[32mINFO←[0m: 127.0.0.1:54295 - "←[1mGET /img/separator.png HTTP/1.1←[0m" ←[31m404 Not Found←[0m ←[32mINFO←[0m: 127.0.0.1:54296 - "←[1mGET /css/rajdhani.css HTTP/1.1←[0m" ←[31m404 Not Found←[0m ←[32mINFO←[0m: 127.0.0.1:54295 - "←[1mGET /js/pixi.min.js HTTP/1.1←[0m" ←[31m404 Not Found←[0m ←[32mINFO←[0m: 127.0.0.1:54296 - "←[1mGET /js/ease.js HTTP/1.1←[0m" ←[31m404 Not Found←[0m ←[32mINFO←[0m: 127.0.0.1:54298 - "←[1mGET / HTTP/1.1←[0m" ←[32m200 OK←[0m ←[32mINFO←[0m: 127.0.0.1:54298 - "←[1mGET /img/separator.png HTTP/1.1←[0m" ←[31m404 Not Found←[0m ←[32mINFO←[0m: 127.0.0.1:54299 - "←[1mGET /css/rajdhani.css HTTP/1.1←[0m" ←[31m404 Not Found←[0m ←[32mINFO←[0m: 127.0.0.1:54298 - "←[1mGET /js/pixi.min.js HTTP/1.1←[0m" ←[31m404 Not Found←[0m ←[32mINFO←[0m: 127.0.0.1:54299 - "←[1mGET /js/ease.js HTTP/1.1←[0m" ←[31m404 Not Found←[0m

Entonces, básicamente, falta cualquier archivo estático que estoy usando, y no tengo idea de qué estoy haciendo mal. ¿Como arreglarlo?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Aquí:

 app.mount("/static", StaticFiles(directory="../static"), name="static")

Montas tu directorio estático en /static . Eso significa que si desea acceder a archivos estáticos en su html, debe usar un prefijo static , por ejemplo, <img src="static/img/separator.png"/>

over 4 years ago · Santiago Trujillo Denunciar

0

Para vincular archivos estáticos desde su plantilla HTML (Jinja2), puede usar el siguiente código de ejemplo, como se describe en la documentación de Starlette :

 <link href="{{ url_for('static', path='/css/rajdhani.css') }}" rel="stylesheet">

Alternativamente, puede usar el nombre dado cuando monta una instancia de StaticFiles() (en este caso, "estático"). Cualquier ruta que comience con "/static" será manejada por él . Ejemplo a continuación:

 <link href="static/css/rajdhani.css'" rel="stylesheet">
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda