기술블로그

Flask Static 폴더를 활용한 이미지 관리 가이드

Chansman 2025. 4. 25. 04:43

📂 Flask Static 폴더를 활용한 이미지 관리 가이드

Flask 프로젝트에서 이미지 파일을 안정적으로 제공하려면 static 폴더를 활용하는 것이 가장 까금하고 효율적입니다.


✅ 1. Static 폴더란?

  • Flask에서 정적 파일(CSS, JS, 이미지 등) 을 제공하는 기본 폴더
  • URL을 통해 직접 접근 가능
  • 서버 부회 없이 빠른 이미지 제공 가능
프로젝트 구조 예시
├── app/
│   ├── static/
│   │   └── images/
│   │       ├── main.png
│   │       ├── question1.png
│   │       └── question2.png
│   └── templates/
└── run.py

✅ 2. 이미지 추가 방법

  1. app/static/images/ 폴더 생성
  2. 사용하려는 이미지를 해당 폴더에 복사

값예시:

app/static/images/main.png

✅ 3. Flask에서 이미지 URL 호출하기

Flask에서는 url_for 함수를 사용해 static 파일 경로를 쉽게 생성할 수 있습니다.

from flask import url_for, jsonify, request

@app.route('/image/main')
def get_main_image():
    image_url = url_for('static', filename='images/main.png')
    return jsonify({"image": request.host_url[:-1] + image_url})

🔹 발한 예시

{
  "image": "http://localhost:5000/static/images/main.png"
}

✅ 4. 클라이언트에서 호출하기

HTML, JS에서 이미지 태그에 바로 적용 가능!

<img src="http://localhost:5000/static/images/main.png" alt="메인 이미지">

✅ 5. 주의사항

  • 배포 시에도 static 폴더는 그대로 제공됩니다.
  • 이미지 경로가 변경되지 않도록 폴더 구조를 명확히 관리하세요.
  • 파일명은 영미 소문자 + 숫자 조합 참고 (공백❌, 한글❌)

🚀 링크로가

이렇게 설정해놓으면 외부 URL 없이도 안전하게 이미지를 서비스할 수 있습니다!
특히 팀 프로머제트나 배포 환경에서도 CORS 문제 없이 활용 가능!

👍 기술블로그에 그대로 포스팅해서 활용하세요! 😄