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를 활용하여 간단하게 웹 서버를 구축하고자 한다면 크게 다음과 같은 3가지가 필요하다.
Flask 클래스의 인스턴스 생성
route() 데코레이터를 이용한 URL 처리 함수 지정
Flask 인스턴스에 호스트 주소, 포트 넘버를 지정한 후 run() 함수 호출
사용자가 이미지 파일을 올리기 위해 필요한 파일 업로드를 구현해보았다.
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)