티스토리 뷰

Sparta 4주차 과제로 팬명록 완성하기를 하였다.

 

Flask package를 통해 WAS 생성을 하였다.

python을 Backend로 Web App을 만들어보는건 처음이라 재밌었다.

 

 

Web APP 구성 관련 패키지

1. Flask 

WAS 서버 기동

2. pymongo

mongo DB 조작

 

*강의에서는 dnspython 설치도 하라고 했지만 안해도 되었다.

 

 

주요 insight

Web APP 구현시 주요기능

1. request 처리

1) 사용자 요청 URL에 따라 정해진 동작을 수행할 수 있어야한다.

2) 요청 httml method에 따라 달리 처리 할 수 있어야한다.

 

2.response 처리

1) 여러 반환 타입을 지원해야한다.

 -> json, xml, html등을 반환할 수 있어야한다.

 

3.WAS 환경설정

포트 설정, 디버그 설정 등을 할 수 있어야한다.

 

flask directory 구성 및 modules

1. flask directory 구조

static : 정적 리소스, 이미지, 동영상, css 파일 등등

templates : html

venv : 프로젝트 가상환경

 

2. Flask 기능

1) Flask : WAS 객체 생성

app = Flask(__name__)	# WAS 생성
...
if __name__ == '__main__':	# 프로그램 시작지점이면
  app.run('0.0.0.0', port=5000, debug=True)	# WAS 기동

__name__은 python 파일 이름을 가르키는데, 시작위치는 __main__이 된다.

app.py를 실행시켰으면 app.py 내에 __name__ == __main__ 이다.

 

2)route

@app.route('/', methods=['POST'])
def myPost():
  ...
  
  @app.route('/', methods=['GET'])
def myGet():
  ...

route 함수는URL Mapping 기능을 제공한다.

사용자 요청 URL을 특정 함수에 연결시켜서 해당 요청을 처리한다.

이때 URL이 같더라도 methods 값 별로 다르게 처리할 수 있다는 것이 포인트 였다.

 

 

3)render_template

@app.route('/')
def home():
  return render_template('index.html') # templates 아래에 index.html을 반환한다

renter_template 사용시 index.html만 써도 되는것은 기본적으로 templates 폴더 하위에서 찿기 떄문이다.

이 기회에 다시 한번 상기되는것은 Framework마다 각자의 Directory Structure를 통해 간편한 사용을 추구한다는 것이다.

(ex. Spring)

 

4.request

userNm = request.form['userNm']

POST로 전달받은 데이터를 request 객체를 통해 접근할 수있다.

 

이상입니다.

 

 

 

댓글