使用自定义函数在视图中获取django错误

时间:2012-12-07 05:41:02

标签: python django

我正在使用基于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'

1 个答案:

答案 0 :(得分:3)

你在这里做的很奇怪。

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

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

def return_JSON(self, request, object_id):
    #                 ^^^^^^^ this
    return http.HttpResponse("Foo!")