[RISE] 9주차 수행내용

세휘·2021년 5월 2일
0

RISE 프로젝트

목록 보기
7/12

1. Flask 서버 구현을 위한 환경 설정

1) anaconda 가상환경 생성

2) pip install flask




2. Flask 예제 실행

from flask import Flask, escape, request

app = Flask(__name__)

@app.route('/')
def hello():
    name = request.args.get("name", "World")
    return f'Hello, {escape(name)}!'

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000)




Flask 웹서버 구현

Flask를 활용하여 간단하게 웹 서버를 구축하고자 한다면 크게 다음과 같은 3가지가 필요하다.

  • Flask 클래스의 인스턴스 생성

  • route() 데코레이터를 이용한 URL 처리 함수 지정

  • Flask 인스턴스에 호스트 주소, 포트 넘버를 지정한 후 run() 함수 호출



3. Flask 파일 업로드 구현

사용자가 이미지 파일을 올리기 위해 필요한 파일 업로드를 구현해보았다.
upload.html

<!DOCTYPE html>
<html>
    <body>
        <form action = "http://localhost:5000/fileUpload" method = "POST"
            enctype = "multipart/form-data">
            <input type = "file" name = "file" />
            <input type = "submit"/>
        </form>
    </body>
</html>



fild_upload.py

from flask import Flask, render_template, request
from werkzeug.utils import secure_filename
app = Flask(__name__)

# 업로드 HTML 렌더링
@app.route('/upload')
def render_file():
    return render_template('upload.html')

# 파일 업로드 처리
@app.route('/fileUpload', methods = ['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        f = request.files['file']
        # 저장할 경로 + 파일명
        f.save(secure_filename(f.filename))
        return 'uploads 디렉토리 -> 파일 업로드 성공!'

if __name__ == '__main__':
    # 서버 실행
    app.run(debug = True)

[참고]

Python과 Flask를 활용한 웹 서버 구축
[기초] Flask 파일 업로드 하기

0개의 댓글