[Django] Generic detail view XXXDetailView must be called with either an object pk or a slug in the URLconf. の解決方法

目次

解消方法

Generic detail view XXXXDetailView must be called with either an object pk or a slug in the URLconf.

上記ののエラーが発生した際に、urls.pyファイルのurlpatternsのパラメータを修正する

エラーが発生するパターン

from django.urls import path
from .views import XXXXViewDetail

urlpatterns = [
    #パラメータがおかしい
    path('detail/<int:app_id>/', XXXXDetailView.as_view(), name='detail'), 
]

エラーを解消するパターン

from django.urls import path
from .views import XXXXViewDetail

urlpatterns = [
    #パラメータをpkとする
    path('detail/<int:pk>/', XXXXDetailView.as_view(), name='detail'), 
]

発生事象

「Generic detail view XXXXDetailView must be called with either an object pk or a slug in the URLconf.」となっており、pk か slug しかDetailViewで使えないと言われている。
もちろんBaseDetailViewも使えないの注意が必要。

目次
閉じる