Django "get() got an unexpected keyword argument ' pk'”错误

标签 django

我正在尝试重定向到一个页面,我打算在创建一个页面后将其实现为一个对象的主页。

下面是我的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/

相关文章:

python - 属性错误 : 'tuple' object has no attribute 'values'

django - 使用 docker 设置 django 和 angular

Django:组合一个对象和一个QuerySet?

python - 如何在 django 中获取时区感知日期?

python - Django 模型 : Filtering by user, 始终

Django 多语言 (i18n) 和 SEO

django - 从所有用户删除 session key

django - 如何防止 Django 本地化模板中的 ID?

django - 在 Django 的 *Integer 字段的上下文中,blank=True 是什么意思?

Django | twilio 发送短信