본문 바로가기

전체 글

[백엔드] Flask: Python에서 DB에 데이터 insert 파이썬에서 mysql에 데이터 insert하는 방법 1. SQL 문 작성 insert into mysql_table(column1, column2,...) values (value1, value2,...); 2. connection으로부터 cursor가져오기 connection.cursor() 3. 쿼리 실행 cursor().execute() 4. 커밋 실행하여 인서트 반영 commit() 5. 몇개의 행이 적용됐는지 확인 cursor.rowcount 샘플코드: 변수없음 import mysql.connector try: ## 커넥션 코드 connection = mysql.connector.connect( host = 'yeo*******.rds.amazonaws.com', database = 'recip.. 더보기
[백엔드] Flask: Python으로 DB접속/이용순서 Python으로 DB 접속하여 데이터 처리 우선적으로, mySQL workben에서 DB 스키마와 테이블 설계를 한다. recipe 테이블 및 user테이블을 생성한다. 관련 프로젝트 진행은 하기 링크 참고 DB, 메모리에 접속할 수 있는 유저 생성 use mysql; create user 'recipe_user'@'%' identified by 'yes1'; - @ 골뱅이 좌측이 아이디, 골뱅이 우측은 네트워크 통해서 접속 가능하겠다라는 뜻 - identified by 뒤가 비밀번호 - 이 유저로 어디에 접속할수 있게, 이 유저가 리모트로 접속할 수 있게, 아이디와, 비번을 설정한다. grant all on recipe_db1.* to 'recipe_user2'@'%'; - 해당 유저로 특정 데이터 베.. 더보기
[백엔드] Postman 설치: API 테스트 프로그램/툴 지난번 포스트에 이어진다: https://yeo0616.tistory.com/167 POSTMAN - POSTMAN은 내가 만든 API를 테스트 할 수 있는 프로그램이다. - POSTMAN 설치: https://www.postman.com/downloads/ - 깃허브에 사용하는 아이디, 포스트맨 아이디가 가급적이면 같으면 좋다. - 개발을 사용하면, 사용하게 될 툴이 많게 될텐데, 이왕이면 같은 아이디로 통일하는 것이 좋다. - 설치가 완료된 POSTMAN 화면, - 화면 중간 아래 쯤에 Create New를 클릭해준다. - Collection 클릭 - 깃허브 레파지토리 단위로 Collection을 하나씩 만들어주면 된다. - 이름을 깃허브의 레파지토리 이름과 똑같이 하면 추후에 프로젝트별 체크할 때 .. 더보기
[백엔드] Flask: request.get_jason() - 실전에 나가면 받을 API 설계서 형식은 하기와 같다. - API 설계서를 보고 작업을 진행한다. Request: 클라이언트가 서버에게 요청 보내는 것 Response: 서버가 클라이언트에게 응답을 보내는 것. –Request– POST http://127.0.0.1:6000/add_two_nums {“x”:30,”y”:100} –Response– {“result”: 130} 아래에서 코드를 작성해보자. from flask import Flask, jsonify, request from http import HTTPStatus app = Flask(__name__) - 클라이언트로부터 뭔가를 받는 건 request 라이브러리에 기능이 다 있다. @app.route('/add_two_nums', met.. 더보기
[백엔드] Flask: return 타입, jsonify() from flask import Flask, jsonify from http import HTTPStatus app = Flask(__name__) @app.route('/hithere', methods = ['GET'] ) def hi_there(): return 'Hithere~~~' @app.route('/', methods = ['GET']) def root(): return '안녕하세요' Return 타입 - string,dict,tuple, response instance, WSGI callable @app.route('/add',methods = ['GET']) def add(): data = 283+111 return str(data) - 숫자의 합이다. - 이때, return 뒤에 dat.. 더보기
[백엔드] Flask : @app.route() 의미 @app.route() 의미 @app.route('/', methods = ['GET']) def hello_world(): return 'Hello World hihi' - route란: URI를 정리하는 것, 연결시켜주는 아이. - Request가 왔을 때, router가 항상 먼저 받는다. 그리고 어떤 모델을 실행시켜줘야할지 판단한다. Ex) 로그인의 요청이 왔을 때, 유저의 정보를 유저 모델에 전달해준다. ( 로그인 함수 매개변수 값에 id와 패스워드를 전달해준다). 그럼 조건이 만족했을 때, 쿠키를 내려준다. - @app.route: 해당 앱의 URL을 함수/기능에 쉽게 할당하기 위해 Flask가 제공하는 Python 데코레이터이다. - 첫번째 매개변수는 경로(URL)이다 - @app: 은 .r.. 더보기
[백엔드] Flask의 개념 및 Restful API 이용 서버개발은 visual studio code로 한다. 파이썬이 최신이라고 해서 다 좋은 게 아니다. 파이썬이 최신이라도, 사용하고 있는 라이브러리가 최신버전의 파이썬이 지워버리면 의미가 없다. AWS의 Lambda라는 서비스하는 곳에 배포를 할건데, 파이썬이 3.8 버전일때 가장 안정적이다. 그리하여, 파이썬 가상환경을 만들어서 작업을 할 것이다. conda -n flask3.8 python=3.8 가상환경에 진입해준다. Flask란 - 간단한 웹사이트, 혹은 간단한 API서버를 만드는데 특화 되어있는 Python Web Framework 이다. - Flask는 가벼우면서도 파워풀하다. 기능은 많이 없지만, 생산성은 좋다. ㄴ 가볍게 배울수 있고, 가볍게 사용할 수 있고, 가볍게 배포할 수 있다. - 다.. 더보기
요청(Request): Headers/ body, 응답(Respond): HTTP 상태코드 요청과 응답: Request와 Respond 저번 포스트에서도 잠깐 언급했지만, - 클라이언트가 먼저 서버에게 요청한다 = request, - 서버가 데이터를 주는 것을 응답한다 = respose 1. Request를 하기 위해 셋팅하는 항목들 - URL은 고유한 값 - Header 인증 토큰, 인증을 위한 값을 세팅, 데이터의 개수, 데이터의 크기를 세팅을 한다. - Body의 데이터는 Json의 형식으로 보낸다. 서버가 받으면, 처리를 한다. - Authorization: 인증 토큰 - 제대로 된 요청이면,서버가 처리해주고, 응답을 주는 것. - 우리는 위의 기능을 해주는 함수를 호출해주면 된다. 2. Response로 받아올 때의 HTTP Status Codes - HTTP의 상태코드: 클라이언트가.. 더보기