0
所以這是我寫的一個簡單的視圖。403與django的基於類的視圖
class PostTestView(View):
def post(self, request, *args, **kwargs):
print request.POST
return HttpResponse("Hello there")
我urls.py
有這一行的上述觀點:
url(r'^test/create$',PostTestView.as_view(), name='app.views.create_test')
但我得到一個405 Http error
當我嘗試打http://127.0.0.1:8000/app/test/create
這顯然意味着,我的方法post
不在定義的方法列表。但是我認爲如上所述。 這裏可能有什麼錯誤?我無能爲力
事實上,儘量避免重寫'POST'和'GET'直接,除非你確切知道你在做什麼。相反,使用通用的CBV作爲起點,根據你想要對你的視圖做什麼來選擇一個。 –
這是一個基於類的視圖(CBV)。如果你看看django文檔https://docs.djangoproject.com/en/dev/topics/class-based-views/intro/覆蓋獲取和發佈方法是記錄的方式來做事情。我想你是參考基於類的通用視圖,這是一個很好的觀點,如果可以的話,使用基於類的通用視圖。 – esauro
你是對的,我在談論仿製CBV。然而,與基於功能的視圖不同,強烈建議您在深入挖掘之前嘗試找到合適的通用CBV,因爲您幾乎肯定會找到一個。這就是爲什麼我對你的答案發表評論(這是不正確的),而不是寫另一個答案。 –