gpt4 book ai didi

python - Django Rest Framework - 对象没有属性 post

转载 作者:行者123 更新时间:2023-11-28 21:34:16 25 4
gpt4 key购买 nike

我的 urls.py 中有这个网址

 path('foo/bar/api', foo.APIBar.as_view(), name='foo-bar-api'),

在我的 view.py 中,我有一个负责 api 的类:

class APIBar(APIView):
def post(request, self, format=None):
date= request.POST['date']
person= get_object_or_404(Person, id=request.POST['person'])
return Response(status=status.HTTP_201_CREATED)

我正在尝试发送这个ajax:

$.ajax({
url: "{% url 'foo-bar-api' %}",
method: "POST",
data: {
date: date.val(),
person: person.val()
}
});

但是 Django 给了我这个错误:

AttributeError: 'APIBar' object has no attribute 'POST'

我不知道为什么会发生这种情况。我在其他模型中使用了相同的结构,并且工作起来就像一个魅力,但这个模型给出了这个错误。

请问你能告诉我我做错了什么吗?我花了几个小时试图修复这个错误。

最佳答案

您的 post 方法的参数排列是错误的,正确的应该是:

def post(self, request, format=None):
date= request.POST['date']
person= get_object_or_404(Person, id=request.POST['person'])
return Response(status=status.HTTP_201_CREATED)

顺便说一句,这里的self表示对象引用。所以它应该是对象方法的第一个参数。

关于python - Django Rest Framework - 对象没有属性 post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53526989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com