■ 프로젝트
- Django 웹 프레임워크를 사용하여 [오늘의 집] 이라는 사이트를 카피하는 프로젝트를 진행
- 프로젝트 저장소: https://github.com/HyungtaeMoon/today_home
■ 목적
1. Django, Python 3 를 활용한 CRUD 를 구현하고 ORM 에 대한 이해
2. AWS ElasticBeanstalk 를 활용한 빌드 파일을 배포
3. SSL 인증서를 붙여 HTTPS 프로토콜 사용
4. Bootstrap 4 를 사용하여 템플릿을 직접 구성
■ 기능별 구현 코드
▷ members(사용자 관련)
회원가입
- USERNAME 필드에 email 필드를 오버라이딩하여 로그인할 때 email 이 USERNAME 역할을 함
로그인
- LoginForm(forms.Form) 을 사용
- 객체를 새로 갱신하지 않기 때문에 ModelForm 을 사용하지 않고, 가벼운 forms.Form 을 사용
- LoginForm(forms.Form) 을 사용
프로필 수정
- 기존에 저장된 객체에 대한 속성들을 불러오기 위해서는 instance=user 와 같이 객체 정보를 가져와야 갱신이 가능함
▷ store(판매 상품 페이지) + 장바구니
상품등록
- 상품 등록은 admin 페이지에서 등록
장바구니 담기
각 상품에 대한 댓글 작성 및 수정, 삭제
- Django 의 messages 를 활용하여 해당 유저가 아닐 시 messages 를 페이지에서 보여줌
상품 검색 기능
- get 요청을 통해 q 인스턴스에 담기는 데이터값이 있을 경우에 해당 context 를 리턴 시켜줌
▷ 커뮤니티(게시판) - 단순 CRUD 구성
- 게시글 작성, 수정, 삭제
- 댓글 작성, 수정, 삭제
■ 배포 관련 기술 스택
▷ AWS
- ElasticBeanstalk
- EC2
- LoadBalancer
- IAM
- RDS
- S3
▷ 기타
Docker
- 컨테이너를 구성하여 해당 이미지로 build 후 배포
fontawesome
- 심플한 아이콘을 사용하기 위해 해당 라이브러리를 사용(CDN 사용)
'프로젝트 이야기 > 개요 및 후기' 카테고리의 다른 글
크롤링 프로젝트 개요 (0) | 2019.06.17 |
---|---|
카피 사이트 프로젝트를 진행하며... (1) | 2019.06.08 |