์ ์ ํ์ผ¶
'StaticFiles'๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ ํ ๋ฆฌ์์ ์ ์ ํ์ผ์ ์๋์ผ๋ก ์ ๊ณตํ ์ ์์ต๋๋ค.
StaticFiles
์ฌ์ฉ¶
StaticFiles
์ํฌํธํฉ๋๋ค.- ํน์ ๊ฒฝ๋ก์
StaticFiles()
์ธ์คํด์ค๋ฅผ "๋ง์ดํธ" ํฉ๋๋ค.
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
app = FastAPI()
app.mount("/static", StaticFiles(directory="static"), name="static")
๊ธฐ์ ์ ์ธ๋ถ์ฌํญ
from starlette.staticfiles import StaticFiles
๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
FastAPI๋ ๋จ์ง ๊ฐ๋ฐ์์ธ, ๋น์ ์๊ฒ ํธ์๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด fastapi.static files
์ ๋์ผํ starlett.static files
๋ฅผ ์ ๊ณตํฉ๋๋ค. ํ์ง๋ง ์ฌ์ค ์ด๊ฒ์ Starlett์์ ์ง์ ์จ ๊ฒ์
๋๋ค.
"๋ง์ดํ " ์ด๋¶
"๋ง์ดํ "์ ํน์ ๊ฒฝ๋ก์ ์์ ํ "๋ ๋ฆฝ์ ์ธ" ์ ํ๋ฆฌ์ผ์ด์ ์ ์ถ๊ฐํ๋ ๊ฒ์ ์๋ฏธํ๋๋ฐ, ๊ทธ ํ ๋ชจ๋ ํ์ ๊ฒฝ๋ก์ ๋ํด์๋ ์ ์ฉ๋ฉ๋๋ค.
๋ง์ดํธ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ ํ ๋
๋ฆฝ์ ์ด๊ธฐ ๋๋ฌธ์ APIRouter
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ๋ ๋ค๋ฆ
๋๋ค. OpenAPI ๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ฌธ์๋ ๋ง์ดํธ๋ ์์ฉ ํ๋ก๊ทธ๋จ ๋ฑ์์ ์ด๋ค ๊ฒ๋ ํฌํจํ์ง ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ ์๋ จ๋ ์ฌ์ฉ์ ์๋ด์์์ ํ์ธํ ์ ์์ต๋๋ค.
์ธ๋ถ์ฌํญ¶
์ฒซ ๋ฒ์งธ "/static"
์ ์ด "ํ์ ์ ํ๋ฆฌ์ผ์ด์
"์ด "๋ง์ดํธ"๋ ํ์ ๊ฒฝ๋ก๋ฅผ ๊ฐ๋ฆฌํต๋๋ค. ๋ฐ๋ผ์ "/static"
์ผ๋ก ์์ํ๋ ๋ชจ๋ ๊ฒฝ๋ก๋ "/static"
์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
'directory="static"
์ ์ ์ ํ์ผ์ด ๋ค์ด ์๋ ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์ ๋ํ๋
๋๋ค.
name="static"
์ FastAPI์์ ๋ด๋ถ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ์ด๋ฆ์ ์ ๊ณตํฉ๋๋ค.
์ด ๋ชจ๋ ๋งค๊ฐ๋ณ์๋ "static
"๊ณผ ๋ค๋ฅผ ์ ์์ผ๋ฉฐ, ์ฌ์ฉ์ ์ ํ๋ฆฌ์ผ์ด์
์ ์๊ตฌ ์ฌํญ ๋ฐ ๊ตฌ์ฒด์ ์ธ ์ธ๋ถ ์ ๋ณด์ ๋ฐ๋ผ ๋งค๊ฐ๋ณ์๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค.
์ถ๊ฐ ์ ๋ณด¶
์์ธํ ๋ด์ฉ๊ณผ ์ ํ ์ฌํญ์ ๋ณด๋ ค๋ฉด Starlette์ ์ ์ ํ์ผ์ ๊ดํ ๋ฌธ์๋ฅผ ํ์ธํ์ญ์์ค.