いつも大変お世話になっております。
Djangoのurls.pyの書き方について質問です。
現在久しぶりにDjangoを使用してapiサーバーを作成しています。
久しぶりの作成につきかなり初歩的な部分を忘れてしまっており、
確認の意味も込めて質問させていただければと思います。
例えば、views.pyに以下の定義があった場合、
views.py
python
1 2# views.py 3 4class CustomUserRetrieveAPIView( RetrieveAPIView ): 5 """ 1件取得クラス """ 6 7 queryset = CustomUser.objects.all() 8 serializer_class = CustomUserSerializer 9 10 11class CustomUserDeleteAPIView( DestroyAPIView ): 12 """ 削除クラス """ 13 14 queryset = CustomUser.objects.all() 15 serializer_class = CustomUserSerializer
urls.py に以下のような書き方はできましたっけ?
python
1# urls.py 2 3from django.urls import path 4from .views import CustomUserAPIView, CustomUserRetrieveAPIView, CustomUserDeleteAPIView 5 6 7urlpatterns = [ 8 path( 'users/<uuid:pk>/', CustomUserRetrieveAPIView.as_view() ), 9 path( 'users/<uuid:pk>/', CustomUserDeleteAPIView.as_view() ), 10]
リクエスト時にGET
とDELETE
の使用されるメソッドの違いで
呼び出されるクラスが自動で切り替わると思っていたのですが、違いましたか?
GET
: CustomUserRetrieveAPIView
DELETE
: CustomUserDeleteAPIView
それとも、以下のようにurlでも明示的に違いをつける必要がありましたでしょうか?
(削除urlに/delete/
を付けています。)
python
1 2# urls.py 3 4from django.urls import path 5from .views import CustomUserAPIView, CustomUserRetrieveAPIView, CustomUserDeleteAPIView 6 7 8urlpatterns = [ 9 path( 'users/<uuid:pk>/', CustomUserRetrieveAPIView.as_view() ), 10 path( 'users/<uuid:pk>/delete/', CustomUserDeleteAPIView.as_view() ), 11]
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/02 16:53