我正在尝试重定向到一个页面,我打算在创建一个页面后将其实现为一个对象的主页。
下面是我的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'
有人请帮助我。
最佳答案
该函数比预期多获得一个参数。 将其更改为:
def get(self, request, pk):
pk 的值将等于已匹配的模式,并且由于您已指定它将是一个数字,因此 pk 的类型将为 int。
关于Django "get() got an unexpected keyword argument ' pk'”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30243865/