Skip to content

42. Static Files


1. Static Files

  • StaticFiles를 사용하여 디렉토리에서 자동으로 정적 파일을 제공할 수 있다.


2. Install aiofiles

  • 먼저, 다음과 같이 aiofiles를 설치한다.


pip install aiofiles


3. Use StaticFiles

  • StaticFiles를 임포트한다.
  • 특정 경로에 인스턴스 StaticFiles()를 "Mount"한다.


from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles

app = FastAPI()

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


4. What is "Mounting"

  • "Mounting"은 특정 경로에 완전한 "독립적인" 애플리케이션을 추가하는 것을 의미하며, 이후 모든 하위 경로를 처리하게 된다.
  • 이것은 탑재된 애플리케이션이 완전히 독립적이므로 APIRouter를 사용하는 것과 다르다.
  • 기본 애플리케이션의 OpenAPI 및 문서에는 탑재된 애플리케이션 등의 어떤 것도 포함되지 않는다.


5. Details

  • 위의 예제에서 첫 번째 "/static"은 이 "하위 애플리케이션"이 "mount"될 하위 경로를 나타낸다.
  • 따라서 "/static"으로 시작하는 모든 경로는 이것에 의해 처리된다.
  • directory="static"은 정적 파일이 포함된 디렉토리의 이름을 나타낸다.
  • name="static"은 FastAPI에서 내부적으로 사용할 수 있는 이름을 지정한다.

References