【发布时间】:2021-06-19 17:51:17
【问题描述】:
我正在使用 Django Rest Framework 和 VueJS 开发一个小项目,我在发送 POST 请求后遇到了一个小错误,我得到 405 POST Method Not Allowed,我不知道为什么我的请求网址是/contact/create/
这是我的代码:
class ContactView(viewsets.ViewSet):
def create(self, request):
serializeObject = ContactSerializer(data = request.data)
if serializeObject.is_valid():
serializeObject.save()
contactObject = Contact.objects.all()
contactSerializer = ContactSerializer(contactObject, many=True)
return Response(contactSerializer.data, status = status.HTTP_201_CREATED)
return Response(serializeObject.errors, status.HTTP_400_BAD_REQUEST)
我的 Axios 代码:
getAPI.post('contact/create/', this.form).then((response) => {
this.$emit('fetchContact')
}).catch((error) => {
})
【问题讨论】:
-
你确定网址是
/contact/create/吗?不仅是/contact/,而且是用POST方法调用的? -
@Tiki 是的,你可以仔细检查我的问题(更新)
-
ViewSet 类只是一种基于类的 View,它不提供任何方法处理程序,例如 .get() 或 .post(),而是提供操作,例如 .list()和 .create()。
标签: django