MongoDB + Flask
데이터수집을 위한 ~~~
Last updated
데이터수집을 위한 ~~~
Last updated
Python으로 구동되는 웹 프레임워크로, 내가 만든 프로그램에 서버를 구동시켜주는 편한 코드 모음이다. 서버를 구동하려면 필요한 복잡한 일들을 쉽게 가져다 쓸 수 있다.
1. Pycharm에서 좌측 상단에 File -> Settings 을 클릭
2. 좌측에 [Project: 패키지 이름] -> Python interprefer 을 클릭 -> "+"를 클릭
3. Available Packages에서 flask를 검색 -> flask 클릭 -> Install Package 클릭
3-1. 위에 패키지가 설치가 안될 경우, 하단에 Terminal 클릭 후, "pip install flask"를 입력
<1> from flask import Flask flask라는 패키지에서 Flask 모듈을 import해줘서 플라스크를 사용할 수 있게 설정한다.
<2> app = Flask(__name__) Flask 인스턴스를 생성한 것으로 python에서 __name__은 모듈의 이름을 뜻한다.
<3> @app.route('/') 함수 상단에 "@"를 통해 라우팅 경로를 지정해 놓았고 그 코드가 바로 @app.route('/') 이다. URL의 '/' 경로를 요청하면 하위에 기재된 코드를 실행하는 것이다. 이런 식으로 경로를 설정하여 다른 동작을 하게 하는 것을 라우팅이라고 한다.
<4> if __name__ == '__main__' : 이 코드는 모듈을 import해서 사용하는 경우인지 직접 실행한 경우인지를 구분하기 위한 것이다. 이 name이 main이라는 값을 가지게 되면 해당 모듈이 주 프로그램이고, 해당 모듈을 실행시키지 않고 import 했을 때는 모듈 이름이 name으로 들어가게 된다는 의미이다.
Flask 서버를 만들 때, 프로젝트 폴더 안에 static 폴더(css, images, javascript 파일을 넣어두는 폴더), templates 폴더(html 파일을 넣어두는 폴더), app.py(프로그램을 실행시키는 파일)을 항상 만들어두어야 한다.
템플릿에 사용되는 파일들은 templates 디렉터리에 저장되며 일반적으로 HTML 파일을 담아두고, 불러오는 역할을 한다. 어플리케이션 상에서 이러한 html 파일들을 변할 수 있도록 Flask에서는 render_templates를 제공한다. Jinja2 템플릿 엔진을 사용해서 html 문서 내에 코드 조각들을 삽입하여 웹 페이지를 동적으로 연결할 수 있다.[2]
MongoDB는 기본적으로 분산 데이터베이스로, 고가용성과 수평 확장, 지리적 분포가 내장되어 사용하기 쉽고, JSON과 유사한 문서에 데이터를 저장한다. 필드는 문서마다 다를 수 있으며 시간에 따라 데이터 구조를 변경할 수 있다.[3] 파이썬에서는 MongoDB를 수집하여 사용할 때 가장 많이 사용하는 라이브러리인 pymongo를 사용한다.
1. Available Packages에서 pymongo를 검색 -> pymongo 클릭 -> Install Package 클릭
1-1. 위에 패키지가 설치가 안될 경우, 하단에 Terminal 클릭 후, "pip install pymongo"를 입력
[1] [스파르타코딩클럽 4주차][python/flask] Flask 시작하기 https://velog.io/@rimu/pythonflask-Flask%EC%97%90-%EB%8C%80%ED%95%9C-%EA%B0%84%EB%8B%A8%ED%95%9C-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC
[2] Flask로 만드는 블로그 - 템플릿 https://opentutorials.org/module/3669/22003
[3] 코딩스타트 - MongoDB란?(NoSQL,Document) https://coding-start.tistory.com/273