Flask! - python web framework flask 튜토리얼

Post on 19-Jan-2017

105 views 9 download

Transcript of Flask! - python web framework flask 튜토리얼

Flask!Python Web Framework

김민규

Flask is a microframework for Python

Web Frame-work

uWGSI

ng-inx

(De-mon)

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

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

실습하기에 앞서…

Python

Data-base

HTML

Step 1. 개발환경 구성하기

개발 환경 구성하기

Step 1

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

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

개발 환경 구성하기

Step 1

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

여기서 편집 !

개발 환경 구성하기

Step 1

pip 으로 flask 설치 pip install flask

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

Step 2.Hello, world!

Hello, world!Step 2

Hello, world!Step 2

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

Hello, world!Step 2

Hello, world!Step 2

Hello, world!Step 2

외부에서도 접근 가능 !

Hello, world!Step 2

app.debug=True

디버깅모드

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

Hello, world!Step 2

라우팅함수와 URL 을 연결

동적 URL 생성

…/bye/ 404

…/hello/ OK…/hello OK

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

Hello, world!Step 2

GET, POST method

Hello, world!Step 2

GET, POST method

Hello, world!Step 2

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

request.form

request.files

GET, POST method

Hello, world!Step 2

파일 업로드

Hello, world!Step 2

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

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

send_from_directory(“Directory”, filename)

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

Hello, world!Step 2

Static file

Hello, world!Step 2

Static file

Hello, world!Step 2

Static file

Hello, world!Step 2

쿠키 다루기

쿠키 적는법

Hello, world!Step 2

쿠키 다루기

쿠키 쓰는법

Step 3.템플릿을 사용하자

템플릿을 사용하자

Step 3

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

-_-.....

템플릿을 사용하자

Step 3

깔끔하게 분리 가능

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

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

템플릿을 사용하자

Step 3

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

템플릿을 사용하자

Step 3

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

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

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

# ... ## for Line Statements

템플릿을 사용하자

Step 3

템플릿을 사용하자

Step 3

템플릿을 사용하자

Step 3

템플릿을 사용하자

Step 3

이렇게 써진다

템플릿을 사용하자

Step 3

For 문으로 반복 !

템플릿을 사용하자

Step 3

여기서 인자를 넘긴다

Step 4.DB 를 사용해보자

디비랑 연동하자Step 4

디비를 연동합시다

디비랑 연동하자Step 4

virtualenv그전에 먼저 !

디비랑 연동하자Step 4

왜 ? 사용하는가

파이썬 가상 개발환경

다양하게 관리 가능

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

디비랑 연동하자Step 4

virtualenv 사용

파이썬 가상 개발환경

이렇게 디렉토리 생성

sudo apt-get install virtualenv

virtulenv venv

디비랑 연동하자Step 4

virtualenv 사용

파이썬 가상 개발환경

source venv/bin/activate

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

나가고 싶으면 deacti-vate

디비랑 연동하자Step 4

Flask-SQLAlchemysudo pip install Flask-

SQLAlchemy==1.0간단간단

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

디비랑 연동하자Step 4

우리가 만들 것

간단간단

디비랑 연동하자Step 4

어떻게 짤까 ?

디비랑 연동하자Step 4

우리가 만들어야 할 페이지

Index( 제일 앞 페이지 )

Write( 글 쓰는 곳 )

Insert( 글 쓴거 보내야죠 )

Read( 기존에 있던 글 읽기 )

4 개면 충분하다 !

디비랑 연동하자Step 4

디비랑 연동하자Step 4

코드 보면서 해석합시다 .

Thanks!Made by Kim Mingyu