[내일배움캠프]스파르타코딩클럽 AI 웹개발 (82) 썸네일형 리스트형 [TIL] spartamarket-DRF 트러블 슈팅2 3. 패스워드 변경 serializer에서 유효성 검증을 하는 방법은 2가지가 있다 1. object-level validation여러 개의 필드에 대해 유효성을 검사해야 하는 경우 validate() 함수를 오버라이딩 하여 사용할 수 있다 2. field-level validationvalidate_ 함수를 사용하여 개별 필드에 대한 유효성 검사를 할 수 있다. 이 경우에 필드 네임이 시리얼라이저에 파라미터로 선언되어있지만 required = False인 경우에는 유효성 검사가 동작하지 않을 수 있다. 패스워드 변경 시에 3개의 변수를 입력받는데,새로운 패스워드, 패스워드 확인, 기존 패스워드를 입력받는다 이때1. 새로운 패스워드와 패스워드 확인이 일치 할 것2. 새로운 패스워드가 기존 패스워드와 다.. [TIL] spartamarket-DRF 트러블 슈팅 1. Method \POST\ not allowed DRF중 TokenBlacklistView를 사용해 logout을 하려고 했을 때 postman에서 아래와 같은 오류가 발생하였다. 분명 post 메소드로 잘 전달했고 만들어져있는 뷰를 가져다 썼기 때문에 뷰나 시리얼라이저에는 이상이 있을 수가 없었다. 처음엔 아래와 같이 urlpatterns가 작성되어있었다urlpatterns = [ ... path("/", views.Profile.as_view(), name="profile"), path("logout/", TokenBlacklistView.as_view(), name="token_blacklist"), ...] 이를 다음과 같이 수정해서 작동시키니 잘 작동되었다 urlp.. [TIL] 권한 있는 사용자 상품 수정이나 삭제를 할 때 권한이 있는 사용자(게시글 작성자)만 할 수 있도록 해야한다그래서 뷰에서 검증하는 코드를 넣어주었다 class ProductDetailAPIView(APIView): permission_classes = [ IsAuthenticatedOrReadOnly, # GET은 인증이 필요없고 POST, PUT, DELETE 요청은 인증이 필요함 ] # 상품 수정 def put(self, request, productID): product = get_object_or_404(Product, id=productID) writer = product.author if request.user == writer: .. [TIL] TokenBlacklistView - Method \POST\ not allowed error로그아웃 기능 구현을 위해 TokenBlacklistView를 사용했는데 Method \POST\ not allowed라는 오류 발생 처음엔 urls.py에서 다음과 같이 url을 설정해주었는데from rest_framework_simplejwt.views import TokenBlacklistViewurlpatterns = [ ... path('logout/', TokenBlacklistView.as_view(), name='token_blacklist'), ...] 변경후from rest_framework_simplejwt.views import TokenBlacklistViewurlpatterns = [ ... path('auth/logout/', TokenB.. [TIL] 장고 기초 이해도 오답노트 보호되어 있는 글입니다. [TIL] Django superuser 보호되어 있는 글입니다. [TIL] django DRF signup 회원가입 기능 구현하기 AbstraceUser 모델을 상속받아 CustomUser 모델을 정의할 때 email은 유일하도록 그리고 first_name과 last_name은 하나로 합쳐 이름 필드로 만들고 싶었다. 상속을 받으면 기본적으로 제공되는 email필드는 오버라이딩 하여 unique=True로 blank=False로 주어 유일하며 필수 입력이 되도록 설정하였고first_name과 last_name은 None으로 정의하여 나타나지 않도록 해주었다 # accounts/models.pyclass User(AbstractUser): GENDER_CHOICES = [ ("M", "남자"), ("W", "여자") ] first_name = None last_.. [TIL] Django ORM Q()- 여러 조건에 해당하는 ORM이 필요할 때 사용- 조건을 정의하는 객체로 논리적 OR 조건을 만들거나 여러 개의 조건을 결합해서 SQL의 WHERE 절에 해당하는 기능을 온전히 활용할 수 있다- &(and), |(or), ~(not) 연산자를 활용할 수 있다 F()- 쿼리를 작성할 때 이전의 필드 값에 의존하는 작업을 설계할 수 있다- 주로 필드의 값을 가져오거나 업데이트 해서 값을 참조하는데 사용한다- python 메모리로 값을 가져오지 않고 필요한 작업을 데이터베이스에서 수행할 수 있다 annotate()- 공식문서- 조회하는 쿼리셋 각각에 추가적인 정보를 제공하는데 사용한다 aggregate()- 공식문서- 조회하는 쿼리셋 전체에 대해 결과를 집계/집약한다주로 집계 함수(Avg, Sum.. 이전 1 2 3 4 5 6 ··· 11 다음