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 |