Skill Stack
Frond-end : react , react-query, axios, react-hook-form , react-player , scss, chakra-UI
Back-end : django, nginx ,certbot, ubuntu, mysql, ObjectStorage
cart models.py
class numCart(CommonModel):
lecture = models.ForeignKey(
"lectures.Lecture",
on_delete=models.CASCADE,
related_name="cart",
null=True,
)
user = models.OneToOneField(
"users.User",
on_delete=models.CASCADE,
related_name="cart",
blank=True,
null=True,
)
class Meta:
verbose_name_plural = "Cart"
cart serializers.py
class CartView(APIView):
def get(self, request):
all_numCart = numCart.objects.all()
serializer = serializers.CartSerializer(all_numCart, many=True)
return Response(serializer.data)
def put(self, request):
user = request.user
serializer = serializers.ActivitCartSerializereSerializer(
user,
data=request.data,
partial=True,
# isInstructor =true 보내주기 요청
)
if serializer.is_valid():
user = serializer.save()
serializer = serializers.CartSerializer(user)
return Response(serializer.data)
else:
return Response(serializer.errors)
# 메일을 보내는 호스트 서버
EMAIL_HOST = "smtp.gmail.com"
# ENAIL_HOST에 정의된 SMTP 서버가 사용하는 포트 (587: TLS/STARTTLS용 포트)
EMAIL_PORT = "587"
EMAIL_HOST_USER = "발신할 이메일 주소 "
# 발신할 이메일 비밀번호
EMAIL_HOST_PASSWORD = (2단계 인증일경우 앱 비밀번호)
# TLS 보안 방법 (SMPT 서버와 통신할 떄 TLS (secure) connection 을 사용할지 말지 여부)
EMAIL_USE_TLS = True
# 사이트와 a관련한 자동응답을 받을 이메일 주소
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
프로젝트 settings.py 이메일 서버를 설정.
EMAIL_HOST_PASSWORD에는 2단계 인증 설정 발급받은 앱 비밀번호를 추가.
path("password/", include("django.contrib.auth.urls")),
서버를 실행 시킨 후 password_reset로 이동하면
django에서 제공 하는 비밀번호 초기화 페이지가 뜸.
프로젝트에 적용하지 못 했지만 원하는 기능구현에 성공 했다는 점
인증 링크를 보내는 방법에 대해서 많이 찾아보고 시도해 보았기 때문에 이전 보다는 배우고 알게 된 것이 많아진 것 같다
github의 사용방법에 대해 어느정도 이해하고 편의성을 알게 됨
이번 프로젝트를 진행 하면서 공부가 되었다는게 개인적인 생각임
몇 가지의 방법 중 crispy-forms ( 장고 양식의 렌더링 동작을 제어 할 수있는 폼 레이아웃 )을 이용해 코드를 작성한 블로그를 발견 했고 해당 블로그를 참고해 시도해 보았으나 부트스트랩과 같이 적용할 수 있는 스타일이 제한적이였음
인증링크와 함께 완성된 패스워드 리셋 페이지를 보내고 싶었으나 시간 부족으로 실패했음
맡은 부분이 적고 프로젝트에 관해서 팀원들과의 소통에서 소극적이였던 것 같음