2012-12-07 54 views
0

我使用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

經過http://stackoverflow.com/questions/13544504/django-form-got-multiple -values-for-keyword-argument&http://stackoverflow.com/questions/3387766/object-detail-got-multiple-values-for-keyword-argument-queryset-while-inputt – avasal

+0

我試着把請求放在函數中然後我得到'對象沒有屬性'請求'' – user825904

回答

3

你在這裏做的事情很奇怪。

您正在使用CBV,但將函數作爲視圖函數傳遞。請記住,CBV的正常簽名是通過MyCBV.as_view()。沒有通過as_view()dispatch()運行沒有CBV機器運行。

但如果你堅持,你只需要一個新的參數添加到您的功能...

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

我試過了,我得到這個錯誤'對象沒有屬性'請求'' – user825904

+0

這是沒有意義的。這段代碼中沒有任何地方引用'request'屬性。發佈你的追蹤。另外,爲了將來的參考,您錯過了關鍵信息。 ***哪個***對象沒有屬性'request'?如果你想吐出一半的調試信息,請包括重要的部分。 –