[나만의블로그개발하기] 02 서버 그리고 데이터베이스

34
서버 그리고 데이터베이스 나만의 블로그 개발해보기 02

Upload: -

Post on 13-Apr-2017

435 views

Category:

Education


3 download

TRANSCRIPT

Page 1: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

서버 그리고 데이터베이스나만의 블로그 개발해보기

02

Page 2: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

Front-end 우리가 실제로 보는 부분들

Back-end 보이지는 않지만 서비스가 돌아가는데 필요한 부분들

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 3: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 4: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

1

URL이랑 나를 받아라

2

ㅇㅎ ㅇㅋㅇㅋ ㄱㄷ

3

받아서 띄운다~

요 함수에는 요걸 보여줘야함HTML 보낸다 일해라

서버로 데이터 보내고 띄우기

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 5: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

데이터를 보내는 방법

GET

POST

데이터를 달라고 요청한다 ex) 일반적인 웹 사이트 들어갈 때

데이터를 보낸다 ex) 게시물 올리기, 로그인 등

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 6: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

서버로 데이터를 보낼때 쓰는 <form>과 친구들

<input> <textarea>

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 7: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

1234

<form method=“GET” action=“/method_check”> <input type=“text” name=“name” placeholder=“이름”> <input type=“submit”></form>

보내는 방식 (GET/POST) 어느 주소로 보낼껀지

데이터를 받을때 혼란이 오지 않게 이름을 붙이고끝은 항상 submit 달기

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 8: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

웹서비스 만들기 with

파일 하나로 기본적인 기능을 제공함 필요한게 있으면 그때그때 pip로 추가

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 9: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

오늘의 작업

templates

아래와 같은 폴더/파일을 만들어 작업해보겠습니다 * learn_flask 폴더명은 “flask”로만 안한다면 마음대로 바꿔도 됩니다. * 나머지 폴더명은 바꾸면 안됩니다.

learn_flask

app.py

index.html

Page 10: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

12345678910

from flask import Flaskimport sysapp = Flask(__name__)

@app.route(“/”)def hello(): return “Hello World!”

if __name__ == “__main__”: app.run()

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

learn_flask/app.py

Page 11: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

12345678910

from flask import Flaskimport sysapp = Flask(__name__)

@app.route(“/”)def hello(): return “Hello World!”

if __name__ == “__main__”: app.run()

from flask import Flask

app = Flask(__name__)

Flask라는 클래스를 가져온다.

Flask 객체를 하나 만듭니다.

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 12: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

@app.route(“/”)def hello(): return “Hello World!”

12345678910

from flask import Flaskimport sysapp = Flask(__name__)

@app.route(“/”)def hello(): return “Hello World!”

if __name__ == “__main__”: app.run()

/ 라는 주소로 라우팅(주소설정) 한다.

해당하는 URL이 오면 hello( ) 함수를 실행한다.

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 13: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

@app.route(“/”)def hello(): return “<html><body><h1>Hello World!</h1></body></html>”

12345678910

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 14: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

123456789101112

from flask import Flaskfrom flask import render_templatefrom flask import requestimport sysapp = Flask(__name__)

@app.route(“/”)def hello(): return render_template(“index.html”)

if __name__ == “__main__”: app.run()

from flask import render_template /HTML을 보여주기 위한 템플릿 엔진 클래스를 가져옵니다.

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 15: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

123456789101112

from flask import Flaskfrom flask import render_templatefrom flask import requestimport sysapp = Flask(__name__)

@app.route(“/”)def hello(): return render_template(“index.html”)

if __name__ == “__main__”: app.run()

return render_template(“index.html”) /templates 폴더 안에 있는 html 파일을 불러옵니다.

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 16: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

1234

<form method=“GET” action=“/method_check”> <input type=“text” name=“name” placeholder=“이름”> <input type=“submit”></form>

@app.route(“/method_check”)def get_method(): return “Hello, Mr, %s?” % (request.args[‘name’])

123

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

learn_flask/templates/index.html

learn_flask/app.py에 추가

Page 17: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

1234

<form method=“POST” action=“/post_check”> <input type=“text” name=“name” placeholder=“이름”> <input type=“submit”></form>

@app.route(“/post_check”, methods=[‘POST’])def post_method(): return “POST로 보냈습니다. %s씨?” % (request.form[‘name’])

123

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

learn_flask/templates/index.html에 추가

learn_flask/app.py에 추가

Page 18: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

12345678910111213141516

from flask import Flaskfrom flask import render_templatefrom flask import requestimport sysapp = Flask(__name__)

@app.route(“/”)def hello(): return render_template(“index.html”)

@app.route(“/method_check”)def get_method(): return “Hello, Mr, %s?” % (request.args[‘name’])

if __name__ == “__main__”: app.run()

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 19: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

근데… 데이터는 어떻게 저장하지?

Page 20: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

데이터베이스를 써보자!

Page 21: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

여러 사람들이 정보를 공유하고 사용할 목적으로 통합적으로 관리하는 정보의 집합

데이터베이스

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 22: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

여러 사람들이 정보를 공유하고 사용할 목적으로 통합적으로 관리하는 정보의 집합

데이터베이스 데이터들이 통합적으로 관리되는 곳

SQL이라는 언어를 사용함

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 23: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 24: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

지난 이야기 그래서 오늘은 form이 필요해! 구름타고 Flask

SQL의 기본

Create Read Update Delete생성 읽기 갱신 삭제

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 25: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

지난 이야기 그래서 오늘은 form이 필요해! 구름타고 Flask

SQL의 기본

INSERT SELECT UPDATE DELETE생성 읽기 갱신 삭제

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 26: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

SQL의 기본

(CRUD) (column) FROM (table);

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 27: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

id name age username

1 이찬희 63 hiddenest

2 김효준 33 retail3210

3 배주웅 25 tamigun.root

4 홍병수 16 frostornge

5 신원준 19 identity0930

6 양기현 22 dexteristan

7 김준성 21 codertimo

8 곽민석 19 kms0730

9 박주찬 20 jcpark210

table name: user

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 28: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

id name age username

1 이찬희 63 hiddenest

2 김효준 33 retail3210

3 배주웅 25 tamigun.root

4 홍병수 16 frostornge

5 신원준 19 identity0930

6 양기현 22 dexteristan

7 김준성 21 codertimo

8 곽민석 19 kms0730

9 박주찬 20 jcpark210

Row

Columntable name: user

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 29: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

id name age username

1 이찬희 63 hiddenest

2 김효준 33 retail3210

3 배주웅 25 tamigun.root

4 홍병수 16 frostornge

5 신원준 19 identity0930

6 양기현 22 dexteristan

7 김준성 21 codertimo

8 곽민석 19 kms0730

9 박주찬 20 jcpark210

mysql> SELECT * FROM user;

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 30: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

mysql>

id name age username

1 이찬희 63 hiddenest

2 김효준 33 retail3210

3 배주웅 25 tamigun.root

4 홍병수 16 frostornge

5 신원준 19 identity0930

6 양기현 22 dexteristan

7 김준성 21 codertimo

8 곽민석 19 kms0730

9 박주찬 20 jcpark210

SELECT name FROM user;

name이찬희

김효준

배주웅

홍병수

신원준

양기현

김준성

곽민석

박주찬

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

Page 31: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

mysql>

id name age username

1 이찬희 63 hiddenest

2 김효준 33 retail3210

3 배주웅 25 tamigun.root

4 홍병수 16 frostornge

5 신원준 19 identity0930

6 양기현 22 dexteristan

7 김준성 21 codertimo

8 곽민석 19 kms0730

9 박주찬 20 jcpark210

SELECT * FROM user WHERE name=“배주웅”

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

3 배주웅 25 tamigun.root

id name age username

Page 32: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

mysql>

id name age username

1 이찬희 63 hiddenest

2 김효준 33 retail3210

3 배주웅 25 tamigun.root

4 홍병수 16 frostornge

5 신원준 19 identity0930

6 양기현 22 dexteristan

7 김준성 21 codertimo

8 곽민석 19 kms0730

9 박주찬 20 jcpark210

SELECT * FROM user WHERE age > 30;

지난 이야기 오늘의 수업 <form>이 필요해 Flask로 코딩하기 데이터 저장하기

id name age username

1 이찬희 63 hiddenest

2 김효준 33 retail3210

Page 33: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

백견이불여일코딩백번 보는 것이 코딩 한번 하는 것보다 못하다

Page 34: [나만의블로그개발하기] 02 서버 그리고 데이터베이스

감사합니다!글 쓰고 읽기, 쓴 글의 리스트 보기

수업때 만나요 :)