본문 바로가기

내일 배움 캠프/TIL

TIL) 9주차 3일


urls.py의 주소 이용시 주의 할 점

처음에 주소를 적을 때 값을 받아오는 부분이라도 int형으로 받는것과 str형으로 받는것과 차이가 있어서 주소창에서도 다르다는걸 인식을 하겠지 하는 생각이였다. 그래서 아래와 같은 코드를 짰다.

urlpatterns = [
     path('<str:category_name>/', views.CategoryView.as_view(), name='category_view'),
     path('<int:post_id>/', views.PostDetailView.as_view(), name='post_detail_view'),
]

 

하지만 예상과는 다르게 오류는 나지않지만 계속 빈 리스트를 내보냈다. 그래서 알게된점이 주소를 받을때 str형으로 받든 int형으로 받든 결국 <> 안에서 받아오는것이기 때문에 컴퓨터에선 이를 판별 할 수 없다라는 점이다. 그래서 꼭 주소를 넣을땐 겹치는 부분이 없게 해야한다.

 

 

urlpatterns = [
     path('category/<str:category_name>/', views.CategoryView.as_view(), name='category_view'),
     path('<int:post_id>/', views.PostDetailView.as_view(), name='post_detail_view'),
]

이런식으로 category를 넣어줌으로써 차별을 시켜주니 정상적으로 작동이 되었다.

 


포스트맨에서 put 사용시 꿀팁

기본적으로 put을 이용할 때 필수적으로 넣어야 하는 요소들이 있다.

 

그림처럼 username, password, email, name, age를 모두 넣어주어야 수정이 가능한다. 하지만!

partial=True

이 한줄을 통해 원하는 요소만 넣고 수정이 가능해진다.

 

def put(self, request, user_id):
        """프로필 수정"""
        user = get_object_or_404(User, id=user_id)
        if request.user == user:
            serializer = UserProfileSerializer(user, data=request.data, partial=True)
         				...

이런식으로 수정이 가능해진다!

 


 

'내일 배움 캠프 > TIL' 카테고리의 다른 글

TIL) 10주차 2일  (0) 2023.05.17
TIL) 10주차 1일  (0) 2023.05.15
TIL) 9주차 2일  (0) 2023.05.10
TIL) 9주차 1일  (0) 2023.05.09
TIL) 8주차 4일  (0) 2023.05.07