42. Static Files
1. Static Files
StaticFiles
를 사용하여 디렉토리에서 자동으로 정적 파일을 제공할 수 있다.
2. Install aiofiles
- 먼저, 다음과 같이 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