[웹개발일지] #8. Flask 사용, mini_project_1. 모두의 책리뷰
풀스택 웹개발 공부 기록하기 #8.
😉Flask 프레임워크를 활용하여 서버 만들기😉
https://github.com/janghr1225/bookreview_page
💾 Flask 사용
서버를 구동시켜주는 코드 모음이라고 생각해도 ok
파이참에서 flask 패키지 설치 후 사용할 수 있음
app.py로 flask 서버를 돌리는 파일 지정하기
터미널 창 클릭하고 ctrl + c 누르면 서버 종료
flask 서버를 만들 때는 항상
프로젝트 폴더 안에
static폴더(이미지, css파일 넣음)
templates폴더(html파일 넣음)
app.py파일
이렇게 3가지를 항상 만들고 시작하기!!
※ venv 파일은 무시
!! GET & POST 방식 !!
GET | POST |
데이터 조회(Read) : 영화 목록 조회 | 데이터 생성(create), 변경(update), 삭제(delete) : 회원가입, 탈퇴, 비밀번호 수정 |
데이터 전달 : url뒤에 물음표를 붙여 key = value 로 전달 ex) google.com?q=북극곰 |
데이터 전달 : 바로 보이지 않는 HTML body에 key:value 형태로 전달 |
GET 요청 API코드
@app.route('/test', methods=['GET'])
def test_get():
title_receive = request.args.get('title_give')
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
GET 요청 확인 Ajax코드
$.ajax({
type: "GET",
url: "/test?title_give=봄날은간다",
data: {},
success: function(response){
console.log(response)
}
})
POST 요청 API코드
@app.route('/test', methods=['POST'])
def test_post():
title_receive = request.form['title_give']
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
POST 요청 확인 Ajax코드
$.ajax({
type: "POST",
url: "/test",
data: { title_give:'봄날은간다' },
success: function(response){
console.log(response)
}
})
💻 No.1 book_review 💻
👉읽은 책의 제목, 저자, 리뷰에 대해 작성하고
'리뷰 작성하기' 버튼을 누르면 아래 리스트에 저장되어 나타남!
여기서 상기해야할 것은?
👉API 만들기
👉 제목, 저자, 리뷰 정보 저장하기(create -> POST)
API 기능 3가지
1. 클라이언트가 준 title, author, review 가져오기
2. DB에 정보 삽입하기
3. 성공 여부 & 성공 메시지 반환하기
클라이언트 코드 3단계
1. input에 title, author, review 가져오기
2. 입력값이 하나라도 없을 때 alert 띄우기
3. Ajax로 서버에 저장 요청하고, 화면 다시 로딩하기
👉 저장된 리뷰를 화면에 보여주기(read -> GET)
응답 데이터 JSON형식 'all_reviews'=리뷰리스트
api기능
1. DB에서 리뷰 정보 모두 가져오기
2. 성공 여부 & 리뷰 목록 반환하기
클라이언트 코드 3단계
1. 리뷰 목록을 서버에 요청하기
2. 요청 성공 여부 확인하기
3. 요청 성공했을 때 리뷰를 올바르게 화면에 나타내기
👉 DB 저장 방식