Software Study/통신

파이썬으로 웹서버 구축하기 (Flask )

욜스터 2021. 1. 13. 20:28
728x90

Flask는 Python으로 구동되는 웹 어플리케이션 프레임워크이다.

 

 


Flask 설치

#Flask 설치
$ pip install flask

#Flask 확인
$ flask --version

 

Flask 어플리케이션 만들기

app.py

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')

def index():

    return render_template('index.html')

    

@app.route('/info')

def info():

    return render_template('info.html')

app.route()에 원하는 url을 적는다.

"/"만 있는 것은 기본 경로를 뜻한다.

 

port나 디버그 모드 설정 등은 app.run()의 파라미터로 삽입해주면 된다. 

 

 

templates/index.html

<!DOCTYPE html>

<html lang="ko">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>Flask Index</title>

</head>

<body>

 

<h1>Hello Flask</h1>

<p>This page is for Flask tutorial.</p>

 

</body>

</html>

templates/info.html

<!DOCTYPE html>

<html lang="ko">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>Flask Info</title>

</head>

<body>

 

<p>This page is Info page.</p>

 

</body>

</html>

 

Flask 서버 구동 확인하기

IP는 127.0.0.1이며 port는 5000으로 설정된다. 

폴더에서 flask run 입력하고, Chrome에서 http://127.0.0.1:5000/으로 접속하면 된다.

info 라우터를 확인하려면 http://127.0.0.1:5000/info에 접속하면 된다. 

 

서버에서 클라이언트(html)에 데이터 보내기

html파일은 "templates" 폴터에 넣어놔야만 사용이 가능하다. 

css파일, javascript 파일, 이미지 파일 등은 "static"폴터에 보관한다.

 

app.py

@app.route("/send")
def send():
    return render_template('UI.html', data='HI')

templates/UI.html

<html>
    <head>
       <h1>Head</h1>
    </head>
    <body>
       Body<br>
       Accepted Data : {{data}}
    </body>
</html>

render_template 함수를 사용하여 html파일을 렌더링한다.

728x90
반응형

'Software Study > 통신' 카테고리의 다른 글

Python 소켓 통신  (0) 2021.01.15
Jinja2 사용하기  (0) 2021.01.15