Python을 기반으로 하는 Micro web framework로, Full stack web framework인 Django보다 가볍기 때문에 최소한의 웹 애플리케이션을 개발하는데 주로 사용

1️⃣ 디렉토리 구성

Untitled

2️⃣ 기본 flask_app.py 코드

# 모듈 호출
import cv2
import numpy as np
import os
import sys
from datetime import datetime
import tensorflow as tf
from tensorflow.keras.layers import Layer, InputSpec
import PIL
import matplotlib.pyplot as plt
import torch
from torchvision import transforms, models
from flask import Flask, render_template, request, send_from_directory

app = Flask(__name__) # 플라스크 인스턴스 생성
app.debug = False
app.use_reloader= False

@app.route('/robots.txt')
@app.route('/sitemap.xml')
def static_from_root():
    return send_from_directory(app.static_folder, request.path[1:])

@app.route('/')
@app.route('/home') 
def home(): 
    return render_template('index.html') 

@app.route('/service')
def service():
    return render_template('service.html')

@app.route('/about')
def about():
    return render_template('about.html')

@app.route('/contact')
def contact():
    return render_template('contact.html')

@app.route('/goods')
def goods():
    return render_template('goods.html')

@app.route('/test', methods = ['GET', 'POST']) 
def test():
    if request.method == 'POST':
        f = request.files['file']
        f.save('이미지가 저장될 경로'+f.filename)
        image_path = f'이미지가 저장될 경로/{f.filename}'
        style = request.form.get('style')
        date_string = datetime.now().strftime("%d%m%Y%H%M%S")
				
				#######################################################
			  # 이미지 분할/이미지 변환/해상도 개선 수행 코드가 존재하는 구간
        # 모델 구현 및 테스트에서 작성된 python 코드와 동일하므로 생략
        #######################################################

        return render_template('result.html', img_file=f'output_img/{style}_{date_string}_out.png' )

if __name__ == '__main__':
    app.run()

3️⃣ URL 별 수행 내용