본문으로 바로가기

 

https://ko.wikipedia.org/wiki/%ED%94%8C%EB%9D%BC%EC%8A%A4%ED%81%AC_(%EC%9B%B9_%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC) 

 

플라스크 (웹 프레임워크) - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

 

 


 

 

1. 설치

 

1-1. anaconda prompt 실행

window > anaconda3 > anaconda prompt



1-2. Flask 설치

pip install Flask 입력후 Enter Key



1-3. 설치확인

import flask From Flask


from flask import Flask 

 

 

 

2. 사용방법

 

2-1. 코드 입력

# 모듈 불로오기
from flask import Flask

# 어플리케이션 생성 
app = Flask(__name__)

# 웹페이지(주소) 접근 시 리턴할 값
@app.route('/')
def home() :
    return 'hello!'
    
@app.route('/page1')
def page1() :
    return 'page1'
    
# 어플리케이션 실행
if __name__ == '__main__' :
    app.run()

 

2-2. 출력결과 확인

 

끝.

 

 


 

3. 응용

 

3-1. HTML 

태그형식의 HTML 작성 후 리턴

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home() :
    html = '''
    <h1>Hello world</h1>
    <h2>Hello world</h2>
    <h3>Hello world</h3>
    <h1 style = "color : red;">Hello world</h1>
    '''
    return html


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

http://127.0.0.1:5000/result

 

 

3-2. Form Tag

 

웹페이지에서 사용자가 지정한 input을 받을 때 처리하는 방식


ㅇ method 속성ㅣ'GET 방식' / 'POST 방식'  (*default = GET 방식)

<form method = 'POST'></form>

 

ㅇ action 속성ㅣinput 받을 웹페이지

<form action = '/result'></form>

 

ㅇ input을 받을 박스생성

<input type = 'text' name = '박스1'>

 

ㅇ input을 제출할 버튼생성 

<input type = 'submit' name = '제출'>


ㅇ request.form`으로 전달받은 값을 처리

from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def home() :
    html = '''
    <form method = 'POST' action = '/result'>
        <input type = 'text' name = 'box_1'>
        <input type = 'text' name = 'box_2'>
        <input type = 'text' name = 'box_3'>
        <input type = 'submit' name = '제출'>
    </form>
    '''
    return html

@app.route('/result', methods = ['GET', 'POST'])
def result() :
    if request.method == 'POST' :  # POST 방식
        result = request.form  # 사용자 input
        
        # 전처리, 모델예측, 시각화 넣는 곳
        
        return_values = f'''
        <h3>value_1 : {result['box_1']}</h3>
        <h3>value_2 : {result['box_2']}</h3>
        <h3>value_3 : {result['box_3']}</h3>
        '''
        return return_values
    else :
        return 'error page'

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

 

box 생성

 

box에 입력한 값을 출력