我是Django REST 框架的新手。如果我向 ‘/api/index/’ 发出 POST 请求,有人可以解释为什么我会收到这样的错误吗 405 Method Not Allowed {"detail":"Method \"POST\" not allowed."} 我的代码如下: # views.py class ApiIndexView(APIView): permission_classes = (permissions.AllowAny,) def post(self...
Reason Phrase: Method Not Allowed:Django视图是用来处理请求和响应的,Django默认是按Form和Template来设...
问Django-Ajax给出错误"Method Not Allowed (POST):/post/like/“EN我是django的新手,我第一次使用...
如果要获取所有的POST数据,可以使用request.POST.dict()方法将POST数据转换为字典。例如: def my_view(request): if request.method == 'POST': post_data = request.POST.dict() # 获取所有的POST数据 # 进行其他操作... return HttpResponse('Success') else: return HttpResponse('Method not allowed') ...
有时候,我们想要限制访问的请求方法,比如我们希望用户只能通过get方式请求,post不允许,那么我们可以采用装饰器的方式,django已经为我们提供了内置的装饰器 限制请求装饰器 Django内置的视图装饰器可以给视图提供一些限制。比如这个视图只能通过GET的method访问等。
AssertionError: .accepted_renderer not set on Response 出错原因,没有在合法的方法内使用 response 响应,之前在dispatch内直接return 了,导致报错,return response 必须放在 get post 等方法内。 按道理讲,django视图会先经过dispatch分发,如果我们在分发的时候发现权限问题,那么提前响应应该没问题,那么为啥会报错呢?
def post(self, request): #do something with 'POST' method return Response("some data") 如果你想在某个时候调用get_or_create()方法,你可以像任何其他方法一样进行, class LocationView(views.APIView): def get_or_create(self, request):
try:self.initial(request,*args,**kwargs)# Get the appropriate handler methodifrequest.method.lower()inself.http_method_names:handler=getattr(self,request.method.lower(),self.http_method_not_allowed)else:handler=self.http_method_not_allowedresponse=handler(request,*args,**kwargs)exceptExceptionas...
Error: Method Not Allowed If @router.get('/{str:name}') put in the back, put is work, but post and patch can't work 👍 1 Sorry, something went wrong. Copy link Owner vitalik commented Jun 7, 2022 • edited Loading @wu-clan well this basically handled by Django urls......
有可能一个请求是通过 POST 方式进来的,并带有一个空的 POST 字典——比如说,一个表单是通过 POST HTTP 方法请求的,但不包括表单数据。因此,你不应该使用 if request.POST 来检查是否使用了 POST 方法;而应该使用 if request.method == "POST" (参见 HttpRequest.method)。 POST 不包括文件上传信息。见 FILE...