개발일지

[내일배움캠프] AI트랙 - 4주차 웹프로그래밍_1_Flask

lution88 2021. 12. 17. 16:45

 [내일배움캠프] AI트랙 - 4주차 웹프로그래밍_1


[수업 목표]

  1. Flask 프레임워크를 활용해서 API를 만들 수 있다.
  2. '화성에 땅사기' API를 만들고 클라이언트에 연결한다.
  3. '스파르타피디아' API를 만들고 클라이언트와 연결한다.

1. Flask 프레임워크

 

- 서버를 구동시켜주는 편한 코드들의 모음. 서버를 구동하려면 필요한 복잡한 일들을 쉽게 가져다 쓸 수 있다.

- 통상적으로 Flask 서버를 돌리는 파일의 이름은 app.py 로 한다.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def home():
   return 'This is Home!'

if __name__ == '__main__':  
   app.run('0.0.0.0',port=5000,debug=True)

- 실행 후 터미널에 다음과 같이 메세지가 뜨면 실행 성공이다.

- 크롬 브라우저에서 http://localhost:5000/ 으로 접속해보자.

  화면에 This is Home! 이 뜨면 제대로 접속한 것이다.


 

2. Flask : URL 나눠보기

 

- @app.route('/') 부분을 수정해서 URL을 나눌 수 있다.

- url 별로 함수명이 같거나, route('/')내의 주소가 같으면 안된다.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def home():
   return 'This is Home!'

@app.route('/mypage')
def mypage():  
   return 'This is My Page!'

if __name__ == '__main__':  
   app.run('0.0.0.0',port=5000,debug=True)

3. Flask : Flask 서버 구성 시 프로젝트 폴더 안에 기본 폴더구조 

 

  • - static 폴더 : 이미지, CSS 파일 등
  • - templates 폴더 :  html 파일을 담아두고, 불러오는 역할을 한다.
  • - app.py 파일

Flask 서버 구성 시 프로젝트 폴더구조


 

4. Flask : html  파일 불러오기

 

  • templates 폴더 안에 index.html 파일을 만든다.

 

  • flask 내장함수 render_template 를 이용한다.
from flask import Flask, render_template, request, jsonify
app = Flask(__name__)

@app.route('/')
def home():
    return render_template('index.html')
  • templates 폴더 안에있는 index.html 을 불러온다.