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,因为您几乎肯定会找到一个。这就是为什么我对你的答案发表评论(这是不正确的),而不是写另一个答案。 –