Category: 개발 일지

0

Crontab 적용!

오늘의 딜이라는 시간에 따라 상품의 정보가 변동되는 데이터를 위해 crontab을 적용했다. 적용하기 전에 방법은 다음과 같았다. 상품 중에 4개를 랜덤으로 뽑기 위해 랜덤 숫자를 저장하는 모델을 만들었다. 모델이 업데이트가 되면 날짜도 업데이트되도록 DateField를 만들었다(auto_now = True). date 모듈을 이용해서 오늘 날짜를 받는다

0

request POST? data?

장바구니 로직에 문제가 생겼다! Front 분들이 요청에 있어서 에러가 있다고 문의를 주셨다. 그래서 나는 Postman으로는 잘 된다고 얘기했더니 500 에러가 뜬다고 이야기를 해주셨다. 이건 서버의 잘못이기에 로직을 다시 한번 살펴보고 있었다. 그런데 Front분들이 form-data로는 잘 되는데 raw의 JSON으로 보내면 안된다고 알려주셨다. 그래

0

장바구니 및 주문 구현 수정 - 1

강사님께 질문을 하면서 내가 구현한 장바구니 부분보다 더 간단한 방법을 제안해주셨다. 일단 signal 함수라는 것은 유지보수 자체가 힘들다는 것을 알았다. 그래서 리뷰 평점을 계산하는 것도 모델 단에서 save를 재정의하는 방법을 검색해서 재구현했다. 123456def save(self, *args, **kwargs): super(Review, se

0

serializer.save()

장바구니에 상품들이 담기면 총 상품에 대한 가격이 계산되어야 했다. 상품을 실제로 파는 것은 아니었으므로 회의를 통해 배송 가격은 무료로 정했다. 따라서 상품의 가격의 가격들만 더하면 총 가격이 되었다. 그래서 REST Framework의 generic view에 있는 serializers.save()를 사용하기로 했다. 기존에 이미 해당 유저의 정보를 저

0

authenticate()

IOS, Front-End와 회의 중 소셜 로그인 구현 얘기가 나왔다. 실제 “오늘의집” 사이트에서도 소셜 로그인이 가능하고 현재 다른 사이트들에서도 소셜 로그인이 대부분 가능하기 때문에 IOS 분들과 먼저 앱에서 구현을 먼저 하기로 했다. 개인 프로젝트를 진행할 때에는 django 자체에서 서버와 클라이언트를 모두 구현했던 것과는 달리 이번에는 Front

0

장바구니 및 주문

스토어를 중심으로 구현하고 있었기 때문에 장바구니는 핵심 기능 중 하나였다. 장바구니에 대해서 내가 정리한 건 다음과 같았다. 유저마다 장바구니가 존재 장바구니에 담긴 상품을 구매하게 되면 장바구니에 있는 목록은 삭제 장바구니를 통한 구매와 바로 구매하는 두 가지 주문 방법이 있음 일단 유저가 담은 상품들을 저장하는 모델을 만들었다. 123class P

0

시간에 따라 바뀌는 데이터

“오늘의집”에서는 오늘의 딜이라는 정해진 시간마다 데이터가 바뀌는 상품들이 있다. 직접 상품을 파는 것은 아니었기 때문에 팀 회의에서 하루를 기준으로 변경하자고 의견을 모았다. 처음 생각한 것은 crontab이었지만, 한번도 적용해보지 못해 시간이 얼마나 걸릴지 몰랐다. 그래서 일단은 Front분들이 API 요청을 통해 데이터를 받을 수 있도록 다른 방법을

0

Django Signals

상품 리뷰에 대한 평점을 데이터베이스에 저장해야 했다. 그런데 평점이기 때문에 리뷰의 개수와 점수에 따라 평점이 달라져야 했다. 그래서 방법을 생각하다가 Django에서 Signals가 떠올랐다. 어떤 특정한 일을 수행할 때마다 지정한 동작이 수행될 수 있도록 할 수 있다. 리뷰 관련 DB Model에서 저장이 완료되면 리뷰의 평점을 계산해서 필드에 저장하

0

Crawling - get_text() Option

“오늘의집”이라는 사이트를 이곳저곳 클릭하다보니 스토어의 상품과 모두 연관되어 있다는 것을 확인했다. 그래서 팀 회의에서 카테고리 중에 스토어를 먼저 구현하자는 의견이 나왔고, 스토어의 상품에 대한 정보는 유저가 아닌 관리자의 작업이기 때문에 크롤링을 먼저 하기로 했다. requests와 beautifulsoup4를 사용했고, 하는 과정 중에 “br” 태그