DateTimeField()에서 날짜 정보 가져오기
2차 프로젝트를 진행하면서
[상세페이지 API와 리뷰 API]을 담당하게 되었다.
5일차 저녁부터 리뷰 API를 구현을 시작하였다.
5일차에는 post Method를
6일차에는 get Method을 큰 틀만 작성을 하였다.
7일차에는 전달해줄 정보 중에 날짜를 year, month, day를 따로 따로 키값과 벨류값으로 넘겨주는 것보다 year-month-day 혹은
year.month.day 혹은 year/month/day형태로 넘겨주려고 어떻게 DateTimeField에서 정보를 가져와야 하는지 그 과정을 작성해 보려고 한다.
DateTimeField에서 created_at과 updated_at를 데이터 관리를 위해 필요한 경우엔 바로 import해서 사용할 수 잇게 core app을 통해서 따로 model을 만들었다.
우선, 내가 이글을 작성하게 된 경우는 내가 어떤 과정을 거치면서 구글링을 하고 쉘에 직접했는지 그 과정을 기록하고 싶어서 작성해보려고 하는 것이다.
우선 프로젝트 이야기를 먼저 꺼내보자면,
리뷰 API를 담당하게 되었고,
내가 결과값으로 전달해야 하는 정보들은?
'날짜' '상품명' '리뷰를 등록한 유저의 카카오id' '리뷰내용' '리뷰에 등록한 이미지'이다
여기서, 처음 사용하게 된게 날짜
이다
날짜는 위에서 언급햇다시피 데이터 관리를 위해 사용한
DateTimeField이다
그중 나는 리뷰를 생성한 날짜 정보가 필요하기 때문에
위의 사진에서 볼 수 잇듯이
created_at의 정보를 쉘에 입력해보니 데이터가 datetime.datetime을 통해서 년도, 월, 일 그외의 정보도 불러오는 것처럼 보이는 것을 확인 할 수 잇었다.
그래서 6일차 벨로그 작성한 것에서 볼수잇듯이 년도와 월, 일을 따로따로 정보를 가져왓엇다.
a.yaer
a.month
a.day
그럼 내가 데이터를 년도와 월과 일을 따로따로 전달을 해주는 상태가 된것이다.
그럼 프론트단에서 원하는 형태가 아님을 확인 할 수있다.
아직, 구글링을 할 생각을 안하고 내가 쉘에 입력한게 잇다..
그럼 날짜가 date를 의미 하지않을까?라는 생각을 하며
쉘에 의식의 흐름대로 입력해보앗따.
이번에는 내가 원하는 정보가 나오지 않고 이상한....음...형태가 나오기 시작해서 여기서부터 구글링을 시작하기 시작했다.
그럼 저렇게 날짜의 정보를 따로따로 불러오는 방법말고도 날짜의 정보를 한번에 불러올수잇는 무언가가 있겠구나 싶었기 때문이다.
두개의 블로그를 참고하여 쉘에 직접 입력해보았다.
위에서 날짜에 대한 정보를 year month day 가 아닌
isoformat()메소드를 이용하면 '날짜, 시간 정보'가 스트링값으로 변환되어 출력된 것을 확인 할 수잇다.
그렇지만 내가 원하는 날짜의 정보만 가져오고 싶은것과는 다른 형태라는 것.
다시 내가 원하는 정보를 얻기 위한 메소드를 찾기 시작햇다.
strftime()메소드를 이용하면, 포맷 문자열로 제어되는 날짜를 문자열로 반환된다는 것과 사용예시에서
%를 사용하여 날짜정보를 출력하는 것을 보고 직접 적용해보기로 했다.
추가로 요일까지도 적용해봤다.
날짜 string 불러오는 방법 참고한 블로그1
날짜 string 불러오는 방법 참고한 블로그2
이제 어떤 유형의 날짜정보를 전달할지는 한번더 프론트분과 상의 해보기로...
쉘에 직접 입력하는거 재밌네...ㅎㅎ 눈에 바로 보여줘서...ㅎㅎ
빨리 답장왓으면 좋겟당ㅎㅎ
이제 나는 날짜정보 전달할건 끝났으니
리뷰갯수를 5개씩 넘겨줄 코드를 고민해보기로~~
오호호 오늘 바로, 프론트분께 연락이 닿아서 답변을 받앗다 야훗~
주신 답변 벨로그에 사용해도 되냐고 허락받고 벨로그에 내용한줄 추가해봅니닼ㅋㅋㅋㅋㅋㅋㅋ
프론트분 왈 :
4:02
2021.12.19 이런 형태더라구요!!
4:02
영어 좋아요
4:03
약간 Thu 가 뭔가 있어보이네요
4:03
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
프론트분과 상의 후 날짜형태는 ==> 2021.12.19 Sun
로 결정했다.
아래의 사진은 그 결과를 담은 결과물의 스크린샷이다.