首页 > 解决方案 > CRUD API React - 方法不允许 405

问题描述

我已经用 DRF + Postgre 为后端和 React-admin 为前端建立了一个项目。

class CreateTracker(generics.ListCreateAPIView):
""" This endpoint allows for creation of a tracker """
    queryset = Tracker.objects.all()
    serializer_class = TrackerSerializer

这是我创建对象的视图,我可以创建并获得状态 201。但是当我尝试从 React-Admin 创建对象时。

Request URL: http://127.0.0.1:8000/api/trackers/
Request Method: POST
Status Code: 405 Method Not Allowed

这就是我在网络选项卡中得到的。我注意到 URL 在最后一个斜杠之后缺少“create”,我认为这是问题所在,但不知道如何解决。

path('trackers/create/', CreateTracker.as_view(), name="create_tracker")

那是 create 方法的 urlpattern。

有人可以帮忙吗?

标签: reactjsdjango-rest-framework

解决方案


对于任何想要使用 Django-rest 和 React-admin 的人,我已经找到了解决问题的方法:

  • 反应服务器正在等待 PUT 方法,而 ListCreateAPIView 发送 POST 方法并且错误来自该端。
  • 为了创建一个完整的简单 CRUD,我使用了 ModelViewSet 并用它创建了一个类,它允许我列出、创建、更新和删除,所有这些都来自 urlpatterns 中的一行代码和视图中的一个类。

希望这可以帮助遇到此问题的任何人。


推荐阅读