Back-end 13

[Flask] 파이썬 db연결, MongoDB, Pymongo

기본세팅 pymongo와 mongodb설치 db연결후 ismaster커맨드로 연결확인을 하거나 connection객체의 server_info를 통해 정보가 불러지는지 확인 Mongodb 사용 데이터삽입 생성한 객체에 insert_one을 사용하여 데이터를 삽입한다. 데이터조회 하나의 데이터 조회 메서드는 find_one이다. 두 개의 데이터를 추가로 생성하고 그 중 222의 id를 가진 데이터를 조회했다. 여러 데이터를 모두 불러오기 위해 find를 사용하여 all_data에 담아주고 for문을 통해 모든 데이터를 출력했다. 데이터삭제 delete_one은 id 222에 해당하는 하나의 데이터를 삭제해준다.(id222여러개가 있어도 하나만 삭제) 삭제 후 다시 모든 데이터를 출력해보니 111과 222의 ..

Back-end 2022.07.12

[Flask] 파이썬에서 db연결, PyMySQL

기본 세팅 PyMySQL설치 (설치 경로 유의) DB생성 (여기서 자세하게 다루진 않습니다) MySQL 설치 root user에 권한 부여(GRANT) 여기선 새로운 user인 blog생성한 상태(마찬가지로 권한 부여) CREATE로 DB생성 blog_db가 생성되었으면 같은 이름으로 생성할때 이미 존재한다고 메세지가 뜬다. show databases명령으로 존재하는 db를 확인할 수 있다. use blog_db 명령어로 아까 생성한 db를 사용하도록 한다. 해당 db에 create table 명령으로 테이블을 하나 생성해주며 db생성을 마친다. DB 연결 pip로 다운받았던 pymysql을 import하고 connect메소드에 파라미터값을 지정하고 MYSQL_CONN라는 이름의 connect 객체를 생..

Back-end 2022.07.06

[Flask] MVC패턴을 위한 BluePrint, 파이썬 파일끼리 import하기

MVC 패턴 - Model, View, Control MVC : 소프트웨어 개발 방법 중 하나 Model : 데이터베이스 (백엔드 서버, 데이터를 다루는 부분) View : 인터페이스 (프론트엔드, 사용자의 눈에 보이는 웹페이지 등) Control : M과 V 사이에서 제어 담당 (RestAPI등) MVC의 목적 MVC에 따라 코드를 분류하여 관리를 쉽게 하는 것 (위의 폴더 구조처럼 모델에 맞게 분류함) 자주 변경할 수 있는 View부분등을 따로 빼서 유지보수를 쉽게 하겠다는 것이 목적 MVC의 단점 기본 취지와 어긋나게 유지보수 시 MVC 세 부분을 모두 조금씩 건드려야 하는 상황이 나옴 하나의 기능이 여러군데에 흩어져 있을 때, 코드의 가시성이 떨어질 수가 있음 import bluePrint라는 같..

Back-end 2022.07.04

[Flask] 플라스크에서 지원하는 데코레이터

before_first_request : 웹 application 기동 이후 가장 처음에 들어오는 HTTP 요청에서만 실행 before_request : HTTP 요청이 들어올 때마다 실행 위 두개는 인자 전달 불가능 after_request : HTTP 요청 처리가 끝나고 브라우저에 응답하기 전에 실행 response 리턴 필요 처음 페이지(/)를 들어가면 셋 모두 실행된다. 라우팅 경로로 들어가면 hello가 출력되는 대신 before_first_request는 더이상 실행되지 않는다. 새로고침을 하면 같은 데코레이터가 다시 실행된다. 다시 / 경로로 돌아가자 route데코레이터는 실행되지 않으며 다른 두개는 실행된다.

Back-end 2022.07.01

[Flask] 에러페이지 처리, 에러 로그파일로 저장

에러 페이지 처리 위와 같이 라우팅 경로 /home로 들어가면 해당 페이지가 나타난다. 만약 경로에 없는 URL이 입력된다면 not found 코드인 404에 해당하는 errorhandler를 실행시키도록 하여 에러페이지를 원하는 페이지로 만들어 준다. 로그 파일 생성 flask는 logging패키지를 지원한다. 로그파일 설정으로 저장할 파일 이름과 어떤 레벨의 오류부터 저장할지 설정한다. 실행하면 설정한 대로 error레벨의 로그들만 저장되어 파일에 저장된다. 보통 error단계부터 실행에 영향을 끼치는 레벨의 오류이다. Not Found 에러를 로그에 저장하기 app.debug가 True라는 것은 개발단계에서 디버그내용을 확인하겠다는 것이다. False라는 것은 실제 배포를 하겠다는 내용이다. 즉, ..

Back-end 2022.07.01

[Back-end] put, get, post, delete 방식별 RestAPI구현

RestAPI [Back-end] flask로 Rest API 구현 REST (REpresentational State Transfer) Rest API는 REST기반 서비스 API 이다. HTTP는 서버/클라이언트 모델로써 서버와 컴퓨터가 서로 Response(요청)과 Request(응답)으로 통신을 한다. 여기서 통신을 할 때,.. developefeel.tistory.com 다른 도메인에서 데이터 가져오기 [Back-end] CORS (Cross Origin Resource Sharing) 백엔드 서버 - 파이썬 Flask 포트번호 8082에 라우팅 경로 test에서 데이터(success=True)를 response하도록 해뒀다. 옆의 200은 Not Found:404처럼 서버 상태를 나타내는 번호..

Back-end 2022.06.29

[Back-end] CORS (Cross Origin Resource Sharing)

백엔드 서버 - 파이썬 Flask 포트번호 8082에 라우팅 경로 test에서 데이터(success=True)를 response하도록 해뒀다. 옆의 200은 Not Found:404처럼 서버 상태를 나타내는 번호이며 200은 정상연결을 의미한다. 해당 8082포트의 /test페이지에는 전달한 데이터가 나타난다. 프론트엔드 서버 - html, Vue html문서에 Vue를 CDN방식으로 받아두고 app에 리터럴 형식으로 method를 정의해 8082포트의 test경로의 사이트를 axios를 이용해 get방식으로 데이터를 받아오도록 한다. 해당 app의 이름으로 된 div태그에 버튼을 넣고 클릭 시 받아온 데이터를 response데이터로써 콘솔창에 찍도록 해준다. Same Origin Policy 위처럼 백..

Back-end 2022.06.29

[jinja2] html에서 파이썬 코드 사용하기

아래 글에 이어서 합니다. [Back-end] Html에서 get방식으로 파라미터 값 넘기기 URL로 파라미터를 넘기는 방식에 대해 선행이 필요하다면 아래로 [Back-end] get방식으로 파라미터 값 넘기기 선행으로 REST방식으로 데이터 전송하는 방법에 대해 [Back-end] flask로 Rest API 구현 REST (REpr developefeel.tistory.com 변수 사용 html에서 변수는 {{ }}중괄호 두개를 겹쳐서 사용한다. 라우팅경로에서 user변수를 받아 name1에 전달하고 name2에는 문자열을 넣어준다. 해당 변수자리에 전달된 값들이 나타난다. for문 사용 변수는 마찬가지로 중괄호 두개를 겹쳐서 사용하고 for문은 {% 를 사용해 정의하며 endfor를 사용해 반복문이..

Back-end 2022.06.17

[Back-end] Html에서 get방식으로 파라미터 값 넘기기

URL로 파라미터를 넘기는 방식에 대해 선행이 필요하다면 아래로 [Back-end] get방식으로 파라미터 값 넘기기 선행으로 REST방식으로 데이터 전송하는 방법에 대해 [Back-end] flask로 Rest API 구현 REST (REpresentational State Transfer) Rest API는 REST기반 서비스 API 이다. HTTP는 서버/클라이언트 모델로써 서버와.. developefeel.tistory.com HTML에서 form으로 파라미터 값 받기 앞서 글에서 get방식을 통해 파라미터값을 넘기는 방식을 알았다. 하지만 사람들이 사이트에 접속할 때 주소창에 파라미터를 직접 입력해서 이동하진 않는단 것도 알것이다. 실제 웹페이지에서 get방식으로 파라미터 값을 어떻게 받고 전달..

Back-end 2022.06.02

[Back-end] get방식으로 파라미터 값 넘기기

선행으로 REST방식으로 데이터 전송하는 방법에 대해 [Back-end] flask로 Rest API 구현 REST (REpresentational State Transfer) Rest API는 REST기반 서비스 API 이다. HTTP는 서버/클라이언트 모델로써 서버와 컴퓨터가 서로 Response(요청)과 Request(응답)으로 통신을 한다. 여기서 통신을 할 때,.. developefeel.tistory.com url주소로 데이터를 전달하는 방법에 대해 참고한다. [Back-end] 라우팅 기법으로 데이터 전달, 주소창의 문자 화면으로 출력 선행으로 flask로 서버를 열어주는 내용이 필요하면 아래 링크로 [Back-end] Flask로 웹 서버 만들기, flask 시작하기 우선 플라스크를 사용하..

Back-end 2022.05.30