본문 바로가기

[내일배움캠프]스파르타코딩클럽 AI 웹개발/Today I Learned

(73)
[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..
pycharm django 환경설정 파이참에서 django를 사용할 때 django를 설치했음에도 패키지에 빨간 줄이 보이는 경우가 있다.이때 파이썬 인터프리터를 설정해주면 해결할 수 있다settings > python interpreter > add interpreter > system interpreter add local interpreter를 누른 후에  system interpreter를 설정해준다             Django ORM 사용시에 objects에 노란 줄이 생기는 경우settings > Language & Frameworks > Djangodjango project root, settings 설정하고 ok         django에서 html Tap 눌렀을 때 자동완성 안되는 경우 settinngs > Temp..