TIL 최종프로젝트(14) 코드 업그레이드?

2023. 6. 28. 01:04TIL/2023.6월

2023.06.27, 화 <- 월요일에 써야했는데

 

짧고 간단하게! 

 

중간 발표가 끝나고 역할을 재분배 했습니다.

저는 그 중에서 추가사항이였던 행사 카테고리와 기간이 지난 행사 처리 부분을 맡게 되었습니다.

 

카테고리야 Event모델에 카테고리 필드 하나 만들어서 구현하면 되고 문제는 기한이 지난 행사 처리부분이였습니다.

 

1.Event모델에 status 필드 추가

-defalt값은 False로 지정하고 행사 시작 날짜가 되면 상태는 True로 변경됩니다.

-행사 종료 날짜가 되면 상태는 다시 False로 변경됩니다

 

->가장 간단하게 구현이 가능합니다, 티켓이야 어드민이 생성해주어야 하기 때문에 공연 날짜 범위를 벗어나면 vaild에서 막히게 됩니다.

->삭제는 별도로 해주어야 합니다, 백엔드에서는 별다른 기능없이 그냥 표시만 합니다.

->프론트에서 해당 status를 가진 객체는 선별하여 행사 리스트 출력 시 제외시킵니다.

[장점]

간단함

[단점]

간단함 

 

2.Django Apscheduler 사용

-js의 크론탭처럼 작동 시간을 정해주면 매 번 그 작업을 반복하여 수행합니다, 이를 통해 티켓 자동생성, status가 False인 행사 자동 삭제 등 많은 부분에서 관리를 편리하게 만들어 줍니다.

방법을 찾아보고 어떻게 적용할까 생각하더 중 몇가지 문제가 생겼습니다.

-티켓을 생성할 때, 이미 티켓이 생성된 행사와 그렇지 않은 행사를 어떻게 구분할지

 ->제가 본 Apscheduler는 크론탭처럼 정해진 시간에 작동하는 기능을 가지고 있었습니다, 티켓의 유무를 구분하는 것은 따로 구현해 주어야 할 것입니다. 일단 이 문제를 어떻게 해결해야 하는지 떠오르지 않아습니다.

 

-처음 사용한다는 것이 문제였습니다

 ->새로운 기능을 구현할 때, 우리는 새로운 문제점를 직면합니다. 개인적인 프로젝트라면 널널하게 시간을 들여 기능을 구현하겠지만, 정해진 시간이 있는 최종 프로젝트에서 모험을 하기에는 부담이 컸습니다.

 

그래서 팀장님을 비롯한 팀원분들과 의논한 결과 1번 방법으로 구현하되, 따로 폴더를 만들어 클론 후 그 곳에서 도전해보는 방향으로 정해졌습니다.

 

[느낀점]

분명 로컬에서는 잘 작동하는 것들이 배포 환경에서는 작동하지 않는 문제가 있습니다

몇몇 문제들은 백엔드 변경점이 반영되지 않아 발생한 문제였습니다.

 

하지만 다른 문제는 변경점이 반영되고 합친 최신 코드를 사용해도 여전히 에러가 발생하고 있습니다

 

어디가 문제인지 파악도 안 되고 있으니 답답합니다.