0

我正在使用基于 django 类的视图

class MyView(TemplateView):
    def return_JSON(self, object_id):
        parent = models.UserForm.objects.get(pk=object_id)

url(r'^return/(?P<object_id>\d+)/json/', views.MyView().return_JSON, name="return_json")

我收到这个错误

return_JSON() got multiple values for keyword argument 'object_id'
4

1 回答 1

3

你在这里做的很奇怪。

您正在使用 CBV,但将函数作为视图函数传递。请记住,CBV 的正常签名是传入MyCBV.as_view(). as_view()没有 CBV 机器在不通过或运行的情况下运行dispatch()

但如果你坚持,你只需要为你的函数添加一个新参数......

def return_JSON(self, request, object_id):
    #                 ^^^^^^^ this
    return http.HttpResponse("Foo!")
于 2012-12-07T07:49:17.567 回答