본문 바로가기

BackEnd

[백엔드] Flask: recipe 프로젝트: API 조회/수정/삭제: GET/PUT/DELETE 레시피 하나만 조회하는 API API 설계서 확인 - 하나의 레시피/정보를 가져올것이다. ‘경로/숫자’의 형식으로 경로를 지정할 것이다. - 우선 [‘GET’]의 API 코드를 작성해보자. - 항상 vscode에서 코드를 작성하기 전에, 해당 쿼리문이 잘 실행되는지를 mysql에서 확인이 끝나야한다. app.py의 코드는 하기와 같다. api.add_resource(RecipeResource,'/recipes/') # 이 뒤에있는 숫자를 받아, 어디로 처리하라. # 하나의 경로당, 하나의 class로 처리한다. 새로운 파일 recipe_info.py를 생성하여 하기 코드를 작성한다. from flask import request from flask_restful import Resource from my.. 더보기
[백엔드] Flask: recipe 프로젝트: API 설계, 새로운 데이터 작성: POST 레시피의 프로젝트를 진행해보자. POST: 수정해야지/생성해야지 DELETE: 내가 만든 삭제해야지 PUT: 임시저장한 레시피를 공개해야지 DELETE: 임시저장 해야지( PUT으로 해도 되긴 함). 여기서는 퍼블리싱 하는 것을 삭제한다는 뜻으로 사용한다.. GET: 레시피를 가져온다는 뜻. 거기에 대한 URL, 클라가 저렇게 요청하면 레시피를 보여주는 것. 의미를 보고, 상황을 봐서 명령어를 사용하도록 한다. 정답이 있는 건 아니다. 새로운 레시피 작성 API recipe.py의 파일을 resource 폴더안에 새로 생성해주고, 윤곽을 잡아준다. from http import HTTPStatus from flask import request from flask_restful import Resource.. 더보기
[백엔드] Flask: recipe 프로젝트: 준비/insert 순서 mysql에서 스키마 및 테이블 생성 recipe 테이블 user 테이블 DB, 메모리에 접속할 수 있는 유저 생성 use mysql; create user 'recipe_user'@'%' identified by 'yes1'; grant all on recipe_db1.* to 'recipe_user2'@'%'; ㄴ 부가설명은 하기 포스팅 참고: https://yeo0616.tistory.com/169 mysql쿼리문 작성 및 잘 동작하는지 확인 use recipe_db1; select * from recipe; insert into recipe (name, description, cook_time, directions) values ('김치찌개','맛있는 김치찌개 만드는 방법', 30, '먼저 고기를.. 더보기
[백엔드] Flask: Python 으로 DB 삭제, delete [ Delete ] 변수 1개를 활용하여 삭제 query = """Delete from Laptop where id = %s""" # row to delete laptopId = 6 cursor.execute(query,(laptopId,)) connection.commit() print("Record Deleted successfully") 여러행을 삭제 - 리스트 안에 튜플 cursor = connection.cursor() query = """Delete from Laptop where id = %s""" records_to_delete = [(6,),(5,)] cursor.executemany(query,records_to_delete) connection.commit() print("Record.. 더보기
[백엔드] Flask: Python 으로 DB 수정, Update [Update] 변수 활용하여 업데이트 cursor = connection.cursor() query = """Update laptop set price = %s where id = %s""" input_data = (price,id) cursor.execute(query, input_data) connection.commit() print("Record Updated successfully") 여러데이터를 활용하여 업데이트 query = """Update laptop set price = %s where id = %s""" # 리스트에 담아서 처리, multiple records to be updated in tuple format records_to_update = [(3000,3),(2750,4)].. 더보기
[백엔드] 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을 하나씩 만들어주면 된다. - 이름을 깃허브의 레파지토리 이름과 똑같이 하면 추후에 프로젝트별 체크할 때 .. 더보기