オブジェクトのホームページとして実装する予定のページを作成後、そのページにリダイレクトしようとしています。
以下は私のviews.pyの対応する部分です。
new_station_object.save()
return HttpResponseRedirect(reverse("home_station",
kwargs={'pk': new_station_object.id}
))
class StationHome(View):
def get(self, request):
return HttpResponse("Created :)")
そして私の urls.py の対応する部分;
url(r'^station/(?P<pk>\d+)$', StationHome.as_view(), name='home_station'),
しかし、上記のエラーが発生します。
TypeError at /station/2
get() got an unexpected keyword argument 'pk'
誰か助けてください。
ベストアンサー1
関数は想定より 1 つ多い引数を取得しています。次のように変更します。
def get(self, request, pk):
pk の値は一致したパターンと等しくなり、数値になるように指定したため、pk の型は int になります。