Developing

패스트캠퍼스 캐시백 챌린지 21일차 본문

Devops/Fastcampus 캐시백 챌린지

패스트캠퍼스 캐시백 챌린지 21일차

DEV_BLOG 2022. 5. 8. 16:53

수강 인증샷

 

 

포스팅을 하기 앞서서 큰 고민에 빠졌었는데, A to Z의 모든과정을 다 포스팅에 녹이면서 하기에는 엄청 늘어질 것 같다는 생각이 들었다. 그래서 주요한 내용들을 언급하고 빠르게 다음 내용으로 넘기는 식으로 포스팅하는 것이 바람직하다는 결론에 이르렀다.

 

가령 오늘 할 포스팅을 Order 쪽 부분의 백엔드 파트를 A to Z 다 과정을 보이려면 앞으로 한 3개정도로 나뉘어서 포스팅을 해야하는데, 그것은 너무 비효율적이라는 판단이 섰다.

 

크게는 Order App - Boss App - Delivery App 로 구성되어있는데 Order쪽은 1포스팅 , Boss나 Delivery쪽을 1~2포스팅으로 단축시킬 수 있을 것 같다. (단축안시키면 포스팅이 너무 많아져버린다.)

 

Boss App에 대한파트 클립들을 전부 수강하고 포스팅을 위해 Order App쪽의 내용들을 정리해가는식으로 챌린지를 진행하였다.

CSS template 설정하는 것은 강좌에서 안알려주고 style attribute로 다 때려넣었기에 관련된 내용도 포함하려고 한다.

클립들을 들으면서 Django에서 발생하는 error들이 어느정도 예측가능하다는 느낌을 받았다.

 

 

Order App backend 요약

 

  • order/shops/

⇒ 전체 Shop의 List를 표시해준다.

⇒ Rest api로 post 요청이 오면 JSON 파일로 넘겨받아서 가게의 name과 address를 추가해준다.

 

  • order/menus/<int:shop>

⇒ Shop의 id를 인자로 받아서

⇒ Get 방식이면 해당 가게의 메뉴들을 표시해준다.

⇒ Rest api로 post 요청이 오면 JSON 파일로 넘겨받아서 해당 가게의 메뉴를 추가해준다.

 

  • order/order

⇒ Get 방식이면 모든 가게의 배달현황을 보여준다.

⇒ Post 방식이면 주문 내역을 추가해준다.

 

 

 

주석처리된 방식으로 하면 사용자는 html에서 json 형식으로 이루어진 데이터들을 보게된다.

따라서 원하는 형식으로 표출해주기 위해서는 html형식으로 표출해주어야한다.

 

order/templates/order(App name과 동일한 것으로) 까지 디렉토리를 생성해주고 그 내부에서 html을 사용해주면된다.

 

render문에 대해서 코멘트를 하자면 앞서 모든 가게에 대한 정보를 db에서 받아서 shop_list 라는 이름으로 order/shop_list.html 에 태워보내는 것이다.

해당 html에서는 {% for shop in shop_list %} 같은식으로 반복문 써서 {{shop.shop_name}} 같이 원하는 내용을 뽑아내면 된다.

 

 

django static template Css 사용예시

 

먼저 order/static/css 폴더까지 디렉토리를 생성해준다.

 

 

project의 settings.py 에서 위와 같이 STATICFILES_DIRS 를 추가해준다.

 

 

 

{% load static %} 으로 불러주고,

stylesheet link는 STATICFILES_DIRS 지정해준 것을 생각해 {% static ‘css/[some].css’ %} 같이 활용해주면된다.

 

 

 

이렇게 django에서도 css와 관련된 template 설정을 하면 보통 css를 쓰는것처럼 사용 가능하다.

 

 

 

https://bit.ly/3L3avNW

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.