Front-end Developer
Python_Flask: 서버 만들기 본문
기본 개념
Library(라이브러리)
라이브러리는 다른 개발자가 간편하게 코딩하기 위해서 만들어 놓은 함수들의 집합이다. 개발을 위한 도구들을 가지고 있는 도구함이라고 볼 수 있다.
Framework(프레임워크)
프레임워크는 뼈대나 기반구조를 뜻한다. 개발자는 프레임워크에 맞는 구조 안에서 복잡한 작업들을 쉽게 처리할 수 있다.
라이브러리와 프레임워크 차이점
라이브러리는 도구들을 빌려와서 쓰는것이기 때문에 한 파일안에 여러가지 라이브러리를 같이 사용할 수 있지만 프레임워크는 전체적인 흐름을 담당하고 있기 때문에 한 파일안에 하나만 사용할 수 있다.
Sever(서버)
서버는 하나의 프로그램으로써 클라이언트 요청에 응답하고 데이터베이스에 정보들을 저장하거나 정보들을 가져와서 클라이언트에 제공하는 역할을 한다.
Flask: 서버 만들기
Flask 기초
Flask는 python의 프레임워크로 서버를 구동시키기 편한 코드들이 모여있다.
Flask를 이용해서 서버를 돌리때는 python 파일 명을 app.py로 많이 사용한다.
Flask 기본 코드
-
@app.route('/') 부분을 수정해서 url을 나눌 수 있다. url 별로 함수명이나 route('/')내에 주소가 같으면 안된다.
-
서버를 실행 시킨다음에 http://localhost:5000/으로 접속하면 해당 서버에 연결되어있는 HTML을 브라우저로 불러올 수 있다.
-
HTML 파일을 불러오기 위해서 해당 프로젝트 폴더안에 'templates'라는 이름에 폴더를 만들어서 그 파일 안에 html파일을 만든다. 그리고 render_template('')내에 html파일 이름을 적으면 서버에서 HTML 파일을 불러올 수 있다.
Flask로 메모장 만들기
먼저 밑에 화질이 좋지 못한점 양해 부탁드립니다..ㅠ
이 메모장은 영화 웹페이지에 url과 영화에대한 간단 코멘트를 작성한다음에 저장 버튼을 누르면 url주소, 코멘트, 영화 제목, 영화 이미지, 영화 설명이 서버를 통해서 데이터베이스에 저장이 되게한다.
그 다음에 다시 클라이언트에서 데이터베이스에 있는 영화 정보들을 달라고 서버에 요청하고 서버를 통해서 정보들을 받으면 브라우저를 통해 정보를 보여준다.
정보들을 주고 받을 때 파이썬(서버)와 HTML(클라이언트)에서 [POST]와 [GET]을 사용했다.
POST
POST는 주로 정보를 데이터베이스에 저장하거나 삭제하거나 변경할 때 사용한다. 이 프로젝트에서는 정보를 저장하기 위해서 사용했다.
브라우저에 input하는 value는 두가지 밖에 없었지만 데이터 베이스에는 총 다섯가지 value들을 저장해야 했기 때문에 input되는 url 페이지에 meta 데이터를 스크래핑을 해서 정보를 가져왔다. 그리고 스크래핑을 하기위해서 beatifulsoup4 라이브러리를 다운 받았다.
mongoDB에 가져온 데이터를 저장하기 위해서 pymongo 라이브러리도 다운 받았다.
Ajax 타입이 POST일때는 data: {}안에 서버로 전달하고 싶은 데이터 값을 넣는다.
GET
GET은 정보를 데이터베이스에서 가져올 때 사용했다.
해당 db파일안에 있는 데이터 리스트를 가져오기 위해 pymong 라이브러리 함수들을 사용해서 서버에 데이터들을 가져왔다.
그다음 그 서버에 있는 데이터들을 클라이언트로 보내기위해 GET 타입 Ajax를 사용해서 반복문안에 해당 데이터 값을 넣고 차례대로 데이터값이 나오도록 했다.
'Python' 카테고리의 다른 글
Python_웹스크래핑 (0) | 2021.02.15 |
---|