Ir para o conteúdo

Arquivos Estáticos

🌐 Tradução por IA e humanos

Esta tradução foi feita por IA orientada por humanos. 🤝

Ela pode conter erros de interpretação do significado original ou soar pouco natural, etc. 🤖

Você pode melhorar esta tradução ajudando-nos a orientar melhor o LLM de IA.

Versão em inglês

Você pode servir arquivos estáticos automaticamente a partir de um diretório usando StaticFiles.

Dica

Se você precisar hospedar um frontend, use app.frontend() em vez disso, leia sobre isso em Frontend.

app.frontend() usa StaticFiles por baixo, com várias vantagens adicionais para frontends, como lidar com roteamento do lado do cliente.

Use StaticFiles

  • Importe StaticFiles.
  • "Monte" uma instância de StaticFiles() em um path específico.
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles

app = FastAPI()

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

Detalhes Técnicos

Você também pode usar from starlette.staticfiles import StaticFiles.

O FastAPI fornece o mesmo que starlette.staticfiles como fastapi.staticfiles apenas como uma conveniência para você, o desenvolvedor. Mas na verdade vem diretamente da Starlette.

O que é "Montagem"

"Montagem" significa adicionar uma aplicação completamente "independente" em um path específico, que então cuida de lidar com todos os sub-paths.

Isso é diferente de usar um APIRouter, pois uma aplicação montada é completamente independente. A OpenAPI e a documentação da sua aplicação principal não incluirão nada da aplicação montada, etc.

Você pode ler mais sobre isso no Guia Avançado do Usuário.

Detalhes

O primeiro "/static" refere-se ao sub-path no qual este "subaplicativo" será "montado". Assim, qualquer path que comece com "/static" será tratado por ele.

O directory="static" refere-se ao nome do diretório que contém seus arquivos estáticos.

O name="static" dá a ele um nome que pode ser usado internamente pelo FastAPI.

Todos esses parâmetros podem ser diferentes de "static", ajuste-os de acordo com as necessidades e detalhes específicos da sua própria aplicação.

Mais informações

Para mais detalhes e opções, consulte a documentação da Starlette sobre Arquivos Estáticos.