본문 바로가기
Python

Flask를 이용한 웹 서버 구현

by daewooki 2021. 6. 16.
반응형

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

이번 프로젝트에서는 nginx나 apche tomcat을 사용하지 않고 flask를 사용하기로 했다.

간단한 웹 서버를 구현해보자.

 

우선 가상환경을 만들고, Flask를 설치한다.

Flask 설치

# Flask 설치 
$ pip install flask
# Flask 확인 
$ flask --version

Flask 어플리케이션 생성

app.py 파일 생성

from flask import Flask 
app = Flask(__name__) 
@app.route('/') 
def index():
    return 'Hello World!'
    
@app.route('/greet') 
def info(): 
    return 'Hi Daewook!'

Flask 웹서버 구동 페이지 확인

CLI 환경에서 flask run을 입력하고, 인터넷에서 http://localhost:5000/으로 접속하면 된다. (http이다)

Flask의 기본 포트는 5000이지만 port옵션을 주어서 변경도 가능하다.

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

템플릿 생성

flask 폴더 내에 templates 폴더를 생성하고, index.html과 greet.html 파일을 생성한다.

 

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 Web Page</title>
  </head>
  <body>
    <h1>Hello World!</h1>
  </body>
</html>

templates/greet.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>Greeting</title>
  </head> 
  <body>
    <h2>Hi, Daewook! </h2>
  </body>
</html>

app.py 에서 각 html에 렌더링

from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
    return render_template('index.html')
    
@app.route('/greet')
def info():
    return render_template('greet.html')

 

http://localhost:5000/

http://localhost:5000/greet    에서 페이지를 확인할 수 있다.

 

반응형

댓글