전체 글 썸네일형 리스트형 [백엔드] Flask: 터미널에 API 진행상황이 안나올 때 문제점: POSTMAN에서 실행하니, 500 Internel 문제라고 하고, vscode 터미널에 API 실행 상황이 공유가 안된다 ( = 에러가 나타나지 않는다) 해결: POSTMAN으로 하나의 API를 실행할 때마다, 터미널에는 API의 실행상황이 나와야한다. 만약에 로컬 서버에 연결이 됐는 데, API를 실행했는데도, 실행상황이 터미널에 표시 되지 않으면, 내가 두개 혹은 그 이상의 터미널에서 동시에 서버가 돌아가는 상황일수도 있다. 서버는 하나만 연결해야한다. 나머지는 정리하자. 더보기 [백엔드] 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 조회: GET 레시피 조회하는 API [‘GET’] API를 만들어봅시다. API 설계서에 GET과 POST의 경로가 같다. 그러므로, vscode에서 같은 클래스에서 작성하면 된다. app.py에서 경로 설정했을 때, 하기 처럼 작성했으므로. api = Api(app) api.add_resource(RecipeListResource,'/recipes') [‘GET’]에는 body에 데이터를 절대 넣지 않는다. 대신 페이징 처리를 해준다. ㄴ 페이징: 한번에 몇개씩 보여줄거냐를 설정 params에 key를 설정하고 value를 입력하면, 경로에 자동으로 ?가 생기고, 뒤가 작성이 된다. vscode에서 상기 POST와 같은 클래스에서 코드를 작성한다. def get(self): # 저장되어있는 모든 API를 가져오는 .. 더보기 [백엔드] 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 보기, select [select] SQL 쿼리는 SELECT 문을 작성하여 execute() 메서드를 실행하면 된다. 아래 예제는 위에서 설명한 일반적인 MySql 사용 절차를 따른 것으로, 간단한 SELECT 문을 실행한 후, 전체 ROW 데이타를 출력하는 예이다. import mysql.cnnector # MySQL Connection 연결 conn =mysql.connect(host='localhost', user='tester', password='', db='testdb', charset='utf8') # Connection 으로부터 Cursor 생성 curs = conn.cursor() # SQL문 실행 sql = "select * from customer" curs.execute(sql) # 데이타 Fetch.. 더보기 이전 1 ··· 9 10 11 12 13 14 15 ··· 34 다음