flask를 사용하는데 아무것도 모르고 인터넷 소스만 복붙해서
구동원리에 대해서 공부하기 위해 작성함
@app.route
- URL 규칙을 받아 해당하는 규칙의 URL로 요청이 들어온 경우, 등록한 함수를 실행한다.
- 파라미터는 URL + 엔드포인트 + 옵션으로 구성되어 있다.
- URL은 127.0.0.1 + 5000(테스트 프로토콜 포트)가 디폴트로 설정되어 있다.
- Flask의 URL규칙은 Werkzeug의 라우팅 모듈에 기반한다.
- 라우팅이란, 패킷의 위치를 추출하여 그 위치에 대한 최적의 경로를 선택하는 과정이다.
- 옵션은 메소드 옵션을 어떻게 핸들링 할 것인지를 의미하며 HTTP프로토콜의 GET이 디폴트이다.
- methods = ['GET', 'POST'] 로 GET과 POST를 둘 다 사용할 수 있다.
- 앞의 @는 장식자라고 하며 Flask에서는 URL 연결에 사용한다.
render_templates
- html파일을 렌더링 해 지정된 화면을 출력할 수 있다.
- Jinja2 템플릿 엔진을 사용한다.
- 첫번째 인자로 렌더링 할 HTML 파일명을 넘겨주고 그 이후에는 HTML 파일에 값을 전달할 변수를 작성한다.
- Jinja2 템플릿 엔진은 렌더링 할 파일을 특정 디렉토리에서 찾기 때문에 templates라는 디렉토리를 생성해서 그 안에 HTML을 작성해야 한다.
url_for
- 작성한 함수의 URL을 빌드해준다.
- 알아서 내부 웹서버 주소로 바꿔주기 때문에 로컬에서 작업하다가 나중에 서버를 배포하고 실제 주소로 바껴도 수정해줄 필요가 없다.
'프로젝트 > 플라스크 웹서버 구축' 카테고리의 다른 글
파이썬 플라스크(Flask) 서버간 통신하기 (0) | 2020.09.18 |
---|---|
파이썬 플라스크(Flask) 로컬 서버에 파일 업로드하고 출력하기 (7) | 2020.09.01 |
파이썬 플라스크(Flask) 웹 서버 구축 (3) - 게시판 만들기 (1) | 2020.08.21 |
파이썬 플라스크(Flask) 웹 서버 구축 (2) - DB연동, 회원가입 (1) | 2020.08.18 |
파이썬 플라스크(Flask) 웹 서버 구축 - 페이지 이동 (0) | 2020.08.18 |