class BookManage(APIView):
permission_classes = [permissions.IsAuthenticated]
def get(self, request, pk):
all_books = get_object_or_404(Book, id=pk)
serializer = BookSerializer(all_books)
redirect_url = reverse('mypagelist', args=[str(all_books.pk)])
return redirect(redirect_url)
# 마이페이지 에약 상세로 전달
문제 :
같은 get메서드가 있어서 마이페이지로 redirect시킴
시도 :
# return redirect('/manager/rooms/')
# return redirect({serializer.data}, '/manage/mypagelist/'+str(all_books.id)+'/')
# return redirect(f'/manage/mypagelist/{all_books.id}/', {serializer.data})
# redirect_url = f'/manage/mypagelist/{all_books.id}/?{(serializer.data)}'
# return redirect(redirect_url)
에러 :
1 TypeError: get() got an unexpected keyword argument '_id'
2django.urls.exceptions.NoReverseMatch: Reverse for 'MyBookReviewCreate' not found. 'MyBookReviewCreate' is not a valid view function or pattern name.
=> url네임으로 지정해줘야함
3 return redirect({serializer.data}, '/manage/mypagelist/'+str(all_books.id)+'/')
TypeError: unhashable type: 'ReturnDict'
고쳐짐
path('mypagelist/<int:_id>/', views.MyPage.as_view(), name='mypagelist'),
=>
path('mypagelist/<int:pk>/', views.MyPage.as_view(), name='mypagelist'),
결과
[12/May/2023 23:03:33] "GET /manager/rooms/book/2/ HTTP/1.1" 302 0
[12/May/2023 23:03:33] "GET /users/mypagelist/2/ HTTP/1.1" 200 1973
302 상태코드 : 임시이동을 나타냄 (영구이동은 301)
'내일배움캠프 > 내일배움캠프 TIL' 카테고리의 다른 글
내일배움캠프 TIL 47일차 (1) | 2023.05.18 |
---|---|
내일배움캠프 TIL 46일차 (0) | 2023.05.15 |
내일배움캠프 TIL 44일차 (0) | 2023.05.12 |
내일배움캠프 TIL 43일 - 토스페이 API (1) | 2023.05.11 |
내일배움캠프 TIL 42일차 (0) | 2023.05.10 |