53
Flask ! Python Web Framework 김김김

Flask! - python web framework flask 튜토리얼

Embed Size (px)

Citation preview

Page 1: Flask! - python web framework flask 튜토리얼

Flask!Python Web Framework

김민규

Page 2: Flask! - python web framework flask 튜토리얼

Flask is a microframework for Python

Page 3: Flask! - python web framework flask 튜토리얼

Web Frame-work

Page 4: Flask! - python web framework flask 튜토리얼

uWGSI

ng-inx

(De-mon)

Page 5: Flask! - python web framework flask 튜토리얼

MicroFrame-work - 작다 , 가볍다 , 구조를 이해하기 쉽다

- 많은 모듈들을 사용할 수 있다 , 쉽다

Page 6: Flask! - python web framework flask 튜토리얼

실습하기에 앞서…

Python

Data-base

HTML

Page 7: Flask! - python web framework flask 튜토리얼

Step 1. 개발환경 구성하기

Page 8: Flask! - python web framework flask 튜토리얼

개발 환경 구성하기

Step 1

Python 설치적당히 알아서 다운로드한다

리눅스는 이미 있음윈도우는 https://www.python.org/downloads/2.7.9 받으세요

Page 9: Flask! - python web framework flask 튜토리얼

개발 환경 구성하기

Step 1

Python, pip PATH 지정커맨드 창에서 바로 사용할 수 있게

여기서 편집 !

Page 10: Flask! - python web framework flask 튜토리얼

개발 환경 구성하기

Step 1

pip 으로 flask 설치 pip install flask

알아서 깔아주니 얼마나 편리한가

Page 11: Flask! - python web framework flask 튜토리얼

Step 2.Hello, world!

Page 12: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

Page 13: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

실행을 해봅시다 .python app.py

Page 14: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

Page 15: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

Page 16: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

외부에서도 접근 가능 !

Page 17: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

app.debug=True

디버깅모드

파일 수정시 감지하여 자동으로 재시작 !

Page 18: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

라우팅함수와 URL 을 연결

동적 URL 생성

…/bye/ 404

…/hello/ OK…/hello OK

www.naver.com/ 여기 부분을 담당 /

Page 19: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

GET, POST method

Page 20: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

GET, POST method

Page 21: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

request.method (‘GET’, ‘POST’)

request.form

request.files

GET, POST method

Page 22: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

파일 업로드

Page 23: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

Static file 서버 내부의 파일을 제공해야 할 때가 있다 (ex: javascript, css)

기본적으로 static 디렉토리 안에 넣어놓는다

send_from_directory(“Directory”, filename)

url_for (‘static’, filename=“static.css”)

Page 24: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

Static file

Page 25: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

Static file

Page 26: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

Static file

Page 27: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

쿠키 다루기

쿠키 적는법

Page 28: Flask! - python web framework flask 튜토리얼

Hello, world!Step 2

쿠키 다루기

쿠키 쓰는법

Page 29: Flask! - python web framework flask 튜토리얼

Step 3.템플릿을 사용하자

Page 30: Flask! - python web framework flask 튜토리얼

템플릿을 사용하자

Step 3

템플릿을 사용하지 않는다면… .?

-_-.....

Page 31: Flask! - python web framework flask 튜토리얼

템플릿을 사용하자

Step 3

깔끔하게 분리 가능

Index.html 은 templates 디렉토리 안에 넣어주자

Page 32: Flask! - python web framework flask 튜토리얼

Flask 는 기본적으로 Jinja 2 템플릿을 사용합니다

Page 33: Flask! - python web framework flask 튜토리얼

템플릿을 사용하자

Step 3

기본적인 jinja 2 문법을 알아봅시다 .

Page 34: Flask! - python web framework flask 튜토리얼

템플릿을 사용하자

Step 3

{% ... %} for Statements 명령어 , 조건문 등

{{ ... }} for Expressions 출력할 변수 , 리스트 등

{# ... #} for Comments 주석입니다

# ... ## for Line Statements

Page 35: Flask! - python web framework flask 튜토리얼

템플릿을 사용하자

Step 3

Page 36: Flask! - python web framework flask 튜토리얼

템플릿을 사용하자

Step 3

Page 37: Flask! - python web framework flask 튜토리얼

템플릿을 사용하자

Step 3

Page 38: Flask! - python web framework flask 튜토리얼

템플릿을 사용하자

Step 3

이렇게 써진다

Page 39: Flask! - python web framework flask 튜토리얼

템플릿을 사용하자

Step 3

For 문으로 반복 !

Page 40: Flask! - python web framework flask 튜토리얼

템플릿을 사용하자

Step 3

여기서 인자를 넘긴다

Page 41: Flask! - python web framework flask 튜토리얼

Step 4.DB 를 사용해보자

Page 42: Flask! - python web framework flask 튜토리얼

디비랑 연동하자Step 4

디비를 연동합시다

Page 43: Flask! - python web framework flask 튜토리얼

디비랑 연동하자Step 4

virtualenv그전에 먼저 !

Page 44: Flask! - python web framework flask 튜토리얼

디비랑 연동하자Step 4

왜 ? 사용하는가

파이썬 가상 개발환경

다양하게 관리 가능

각기 프로젝트의 모듈 버전 의존성이 다를 때 , 각 프로젝트마다 간편하게 관리 가능 !

Page 45: Flask! - python web framework flask 튜토리얼

디비랑 연동하자Step 4

virtualenv 사용

파이썬 가상 개발환경

이렇게 디렉토리 생성

sudo apt-get install virtualenv

virtulenv venv

Page 46: Flask! - python web framework flask 튜토리얼

디비랑 연동하자Step 4

virtualenv 사용

파이썬 가상 개발환경

source venv/bin/activate

pip, easy_install 등으로 적절하게 모듈 설치

나가고 싶으면 deacti-vate

Page 47: Flask! - python web framework flask 튜토리얼

디비랑 연동하자Step 4

Flask-SQLAlchemysudo pip install Flask-

SQLAlchemy==1.0간단간단

문서 : https://flask-mysql.readthedocs.org/en/latest/

Page 48: Flask! - python web framework flask 튜토리얼

디비랑 연동하자Step 4

우리가 만들 것

간단간단

Page 49: Flask! - python web framework flask 튜토리얼

디비랑 연동하자Step 4

어떻게 짤까 ?

Page 50: Flask! - python web framework flask 튜토리얼

디비랑 연동하자Step 4

우리가 만들어야 할 페이지

Index( 제일 앞 페이지 )

Write( 글 쓰는 곳 )

Insert( 글 쓴거 보내야죠 )

Read( 기존에 있던 글 읽기 )

4 개면 충분하다 !

Page 51: Flask! - python web framework flask 튜토리얼

디비랑 연동하자Step 4

Page 52: Flask! - python web framework flask 튜토리얼

디비랑 연동하자Step 4

코드 보면서 해석합시다 .

Page 53: Flask! - python web framework flask 튜토리얼

Thanks!Made by Kim Mingyu