본격적으로 항해99를 시작하기 전, 사전강의로 4종의 강의를 제공받았다.
그 중 2회독 필수인 '웹개발종합반'강의에 대한 회고록을 작성하려한다.
배운 것을 정리하는 위주로 글 작성.
4주차에선 Flask 프레임워크를 사용해 서버를 만드는 실습을 주로 했다.
서버쪽은 처음 배워 집중하며 강의를 들었지만 아직 생소한 느낌이 있어
복습을 추가로 해야할 것 같다.
파이참과 Flask를 활용해 실습을 진행했다.
프레임워크(Framework) : 서버를 만들 수 있는 큰 라이브러리.
로컬 개발환경 : 내 컴퓨터 안에서 서버 만들고 클라이언트로 접속할 때.
Flask : 서버를 구동시켜주는 편한 코드 모음. 통상적으로 파일명을 app.py 로 사용
Flask 패키지 필수! (pymongo dnspython 도 역시 필수로 설치해야한다)
Flask 시작 코드
from flask import Flask, render_template
app = Flask(__name__)
## URL 별로 함수명이 같거나,
## route('/') 등의 주소가 같으면 안됩니다.
@app.route('/')
def home():
return render_template('index.html')
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)
# http://localhost:5000/로 접속 가능.
# @app.route('/) 부분을 수정해서 URL을 나눌 수 있다.
Flask 기본 폴더 구조
프로젝트 폴더 안에,
ㄴstatic 폴더 (이미지, css파일을 넣어둡니다)
ㄴtemplates 폴더 (html파일을 넣어둡니다)
ㄴapp.py 파일
(venv 폴더는 안보이는 셈으로 치면 된다.)
클라이언트가 서버에 요청할 때 GET(읽기)과 POST(생성 수정 삭제)방식 등이 있다.
프로젝트 전, 필요한 기술을 먼저 구현해봐야 한다. 이런 것들을 조각기능이라 한다.
Get은 url: /test?title_give=봄날은간다 처럼 ?뒤에 요청이 있음. /test가 창구.
POST는 url: "/test"로간단한데 data: { title_give:'봄날은간다' } 에서 요청.
Html 내에서 안에 있는 변수는 $(‘#name’)처럼 쓰고 (post)
서버에서 들고온 자료(get는 리스트의 인덱스는 []
temp_html쓸땐 ${name}
POST에서 마지막은 새로고침 window.location.reload()
Meta tag : <head> 부분에 들어가는, 눈으로 보이는 것(body) 외에 사이트의 속성을 설명해주는 태그.
python에서 db에 있는 숫자를 받아올때 문자로 인식되어 받아와진다.
이를 다시 숫자로 바꾸려면 int()로 씌우면 다시 숫자로 인식된다.
Flask 실습. 화성땅 공동구매. post(주문db에저장) get(주문 보여주기).
Flask 실습. 영화평 저장 사이트.
post : bs4로 네이버 영화에서 meta태그 크롤링후 영화정보 db에 저장.
웹에서 입력한 평점과 코멘트, url 저장.
get : temp_html을 이용해서 입력한 영화 정보와 코멘트 정보 보내고 붙여넣기.
Flask 실습. 팬명록 응원 남기기.
post : 응원남기기 클릭 시 주문 목록에 추가
get : 페이지 로딩 후 하단 응원목록에 자동으로 보이기
서버와 클라이언트 둘 다 만져가며 수정하는게 매우 흥미있었다.
하지만 실습을 해봐도 아직 익숙해 지지 않는 부분이 있어 추후 여러번의 실습을 통해 숙달되도록 노력해야겠다.