https://github.com/SoonGyum/team9_djangotimes
장고 심화 개인과제 피드백
짧은 시간에 프로젝트 구현하느라 고생 많으셨습니다. 프로젝트에 관한 간단한 피드백을 드릴테니 이러한 피드백을 반영하면 프로젝트의 완성도를 더욱 높이고 실제 사용자의 경험을 더욱 향상시킬 수 있을 것입니다.
Django DRF에 대한 이해도가 많이 높아진 것 같습니다. validator와 새로운 매서드를 선언하는 등의 시도도 좋았습니다. 다만, 디테일한 코드 구현에 대한 부분만 보완된다면 더 빠른 성장을 기대할 수 있을 것 같습니다. 그리고 settings.py의 SECRET_KEY는 숨겨서 GitHub에 올라가지 않도록 관리해주세요. git을 더 자세하게 작성하는 습관도 가지는 것이 좋을 것 같습니다.accounts 앱
- models.py
AbstractUser를 상속받은 커스텀 유저 모델의 이름은 기존 auth 앱의 User 모델과 충돌할 수 있습니다. 따라서 CustomUser와 같은 다른 이름을 사용하는 것이 좋습니다. gender 필드는 choices를 사용하여 저장되는 데이터를 줄이세요.
- serializers.py
password와 같은 민감한 필드는 write_only=True로 설정하여 입력만 받고 응답에서는 제외시키는 것이 좋습니다.
- views.py
SignupView에서 validator를 사용하고 있는데 이때 비밀번호가 암호화되어 처리되는지 확인해 보세요. 평문 비밀번호가 전달되는 것을 방지해야 합니다. ProfileView에서는 User.objects.get()을 사용할 때 User.DoesNotExist 오류를 방지하기 위해 get_object_or_404를 사용하는 것이 좋습니다. 응답을 보낼 때 적절한 HTTP 상태 코드를 함께 전달하세요.products 앱
- models.py
Product의 user가 ForeignKey일 때, related_name을 사용하여 User 모델에서 Product 모델로의 접근을 쉽게 하는 것이 좋습니다.
- serializers.py
User 필드는 ForeignKey로 연결되어 있으므로, 유저 객체 전체를 반환하지 않고 id 값만 반환합니다. 상세 유저 정보가 필요하면 추가 작업이 필요합니다. Image 필드에서는 이미지의 전체 URL을 반환하도록 use_url=True 옵션을 사용하는 것이 더 유용할 수 있습니다.
- views.py
ProductListAPIView는 list와 create 뷰를 함께 사용하고 있기 때문에 클래스 이름을 ProductListCreateView와 같이 바꾸는 것이 좋습니다. PUT 메서드에서 partial=True를 사용하는 것은 불필요할 수 있습니다. 일반적으로 전체 리소스 업데이트는 PUT으로, 부분 리소스 업데이트는 PATCH로 수행합니다.
장고 심화 개인과제 하시느라 고생 많으셨습니다. 위의 내용 참고하셔서 다음 프로젝트에서 더 나은 모습으로 발전하실 수 있길 바랍니다
'매일 TIL' 카테고리의 다른 글
[내일배움캠프 14-3일] 이메일 인증, 비밀번호 확인 (0) | 2024.09.25 |
---|---|
[내일배움캠프 13-5일] django 심화과제 끝 (0) | 2024.09.20 |
[내일배움캠프 12-5일] django 심화과제 (0) | 2024.09.13 |
[내일배움캠프 12-4일] django 심화과제, accounts 앱 구현 (0) | 2024.09.12 |
[내일배움캠프 12-3일] django 심화과제 시작, 와이어프레임, ERD, API 명세서 (0) | 2024.09.11 |