使用django rest框架我試圖創建一個視圖,允許檢索和更新單個用戶,但我不明白如何去做。目前我不關心權限和身份驗證。基於Django基於GET參數的視圖
views.py
class UserDetailsView(RetrieveUpdateAPIView):
def get_object(self, user_id):
user = get_user_model().objects.get(pk=user_id)
return user
urls.py
urlpatterns = [
#rest of code
url(r'^user/(?P<user_id>[0-9]+)/$', views.UserDetailsView.as_view(), name="profile"),
]
,如果我嘗試訪問本地主機:8000 /用戶/ 1,我得到:
TypeError at /user/1/
get_object() missing 1 required positional argument: 'user_id'
Request Method: GET
Request URL: http://localhost:8000/user/1/
Django Version: 1.11.1
Exception Type: TypeError
Exception Value:
get_object() missing 1 required positional argument: 'user_id'
我失去了一些東西因爲基於功能的視圖一切正常。例如:
views.py
def game(request, id_game):
# rest of code
urls.py
url(r'^games/(?P<id_game>[0-9]+)/$', views.game, name="game"),
非常感謝您的及時答覆。這解決了我的問題,但我對缺乏良好的文檔感到驚訝。我已經閱讀了該頁面,並且還閱讀了關於基於類的視圖的django文檔頁面,但其中沒有提到如何將參數傳遞給常見的http方法(GET和POST)。如果你能告訴我一個很好的詳細Django指南 –
我只是看看這篇文章中的第一個截屏視頻,如果這是你的風格,我推薦它。它看起來不錯https://stackoverflow.com/a/17414782/4832296 –