-
Django 팀 프로젝트 심화를 발제날
장고 심화 프로젝트 주제 : 뉴스 피드 프로젝트
우리 B-6조는 챌린지 참가 사이트를 만들기로 정하고 와이어프레임, ERD작성, API명세서까지 작성하고
저녁에 모델링작업을 했다.
팀 프로젝트 ERD
API 명세표
기능 | method | url | request | response |
회원가입 | POST | /api/signup | 아이디,비밀번호,닉네임,이메일 | |
로그인 | POST | /api/signin | 아이디,비밀번호 | |
썸네일 보여주기 | GET | /api/main | 제목, 이미지 | |
챌린지 상세보기 | GET | /api/challenge | 작성자, 제목, 내용, 이미지, 작성날짜 | |
챌린지 작성하기 | POST | /api/challenge | 챌린지명, 이미지파일, 도전장르, 내용 | |
챌린지 수정하기 | PUT | /api/challenge | 챌린지명, 이미지파일, 도전장르, 내용 | |
챌린지 삭제하기 | DELETE | /api/challenge | 작성자, 내용, 이미지, 작성날짜 | |
댓글 보여주기 | GET | /api/comment | 작성자, 내용, 이미지, 작성날짜 | |
댓글 작성하기 | POST | /api/comment | 작성자, 내용, 이미지 | |
댓글 수정하기 | PUT | /api/comment | 작성자, 내용, 이미지 | |
댓글 삭제하기 | DELETE | /api/comment | ||
마이페이지 작성한 챌린지 | GET | /api/mychallenge | 제목, 이미지 | |
마이페이지 참가중인 챌린지 | GET | /api/joinchallenge | 제목, 이미지 | |
마이페이지 완료한 챌린지 | GET | /api/finishichallenge | 제목, 이미지 | |
마이페이지 작성 댓글 | GET | /api/mycomment | 작성자, 내용, 이미지, 작성날짜 |
Today I Learned
- API 명세서란?
API명세서를 작성하는 데 막상 작성하려니 감이 잘 안 잡혀서 알아보고 질문 드리면서 개념을 익히려고 노력했다.
API(Application Programming Interface) 명세서 :
API를 사용하는 개발자들이 API를 쉽게 이해하고 사용하도록 작성된 문서. 보통 백엔드 개발자과 프론트엔드 개발자가 각각 따로 작업을 하더라도 이러한 API가 있다면 원하는 결과물에 좀 더 수월하게 다다를 수 있다. 기술매니저님이 보여주신 Open API나 실제 프로젝트 API를 보니 실제적으로 어떻게 작성되는 지 파악할 수 있었고 Request에 파라미터를 넣었다. 다음부터는 적용시켜서 좀 더 상세하게 작성해볼 예정.
- Django 루트경로찾기 -> 일반적으로 manage.py와 같은 파일에 위치한다. ls명령어를 입력하면 간단히 확인할 수 있다!
venv나 .env 파일 또한 루트경로와 같은 경로에 만들어야한다.
- POST.get()
이 메소드는 파이썬 딕셔너리에서 값을 가져오는 메소드 중 하나인데, 이러한 메소드는 딕셔너리에서 주어진 키(key)에 해당하는 값을 반환한다. 주어진 키가 딕셔너리에 없을 경우에는 기본 값을(default value)를 반환.
이 때, get() 메소드의 두 번째 인자로 기본 값을 지정할 수 있다.
request_post = {
"price" : 1000,
"name" : "테스트 상품",
}
request_post["price"]
request_post.get("price", "") #해당 키가 딕셔너리에 없을 경우 기본값으로 빈 문자열을 반환
request_post["price"] 과 request_post.get("price")는 모두 딕셔너리에서 "price" 키에 해당한느 값을 반환하는 것인데,
두 방법의 차이점은 바로 키가 존재 하지 않을 때에서 발생한다..!
(1) request_post["discount"] 와 같이 딕셔너리에서 존재하지 않는 키를 사용하면 "KeyError" 발생
(2) request_post.get("discount")와 같이 get()메소드를 사용하면, 해당 키가 존재 하지 않을 때는 None 값 반환하거나 디폴트 값 지정하면 그 값을 반환한다
'내일배움캠프 > 내일배움캠프 TIL' 카테고리의 다른 글
내일배움캠프 TIL 23일차 (0) | 2023.04.12 |
---|---|
내일배움캠프 TIL 22일차 (2) | 2023.04.11 |
내일배움캠프 TIL 20일차 (0) | 2023.04.07 |
내일배움캠프 AI 5기 TIL 19일차 (0) | 2023.04.06 |
내일배움캠프 AI 5기 TIL 18일차 (0) | 2023.04.05 |