2015-10-14 34 views
0

我知道每個人都會討厭這個問題,因爲它與django 1.5和rest-framework 2.4.6有關,但那是因爲這是我們產品最初的原因在我們將所有服務器切換到新代碼之前,我們必須支持它。我試圖創建一個API,但我收到此TypeError當我試圖訪問這些頁面:get()接收關鍵字參數'uuid'的多個值

TypeError at /api/call-history/41d36c79-808e-14e4-b2c9-e9137925356c/ 

get() got multiple values for keyword argument 'uuid' 

下面是我的網址文件中的要領:

UUID = r'^(?P<uuid>[\w\-]+)/' 

urlpatterns = (
    url(UUID + r'$', CallHistoryView.as_view()), 
) 

這裏是我的看法目前,只是一個簡單的方法存根:

class CallHistoryView(APIView): 
    def get(self, uuid): 
     return Response({}, status=status.HTTP_200_OK) 

我不知道爲什麼這個錯誤是彈出。我多次改變了我的正則表達式,沒有更好的結果,並且我還查看了標題以查看它們是否導致混淆。每個都無濟於事。我不知道發生了什麼,任何幫助將不勝感激。提前致謝!

編輯:您也可能想知道其中的URL的/api/call-history/部分是從哪裏來的,但是這是從正在這一個擊中前的URL文件,我知道他們正在工作的罰款,但如果你想看到這些線條,我很樂意提供。

回答

2

APIViewget()方法的第一個參數應該是request對象。您可以從self.kwargs獲取uuid

class CallHistoryView(APIView): 
    def get(self, request, *args, **kwargs): 
     uuid = self.kwargs['uuid'] 
     return Response({}, status=status.HTTP_200_OK) 
+0

DUH!哦,我的天哪,我不能相信我忘了!我一直在做這些事情已經有一段時間了,最​​近我一直在做其他項目。 :P感謝一大堆! –

相關問題