我试图在Django Rest中使用额外的操作POST,但收到了这个错误
{"detail":"Method "POST" not allowed."}
这是POST的方法:
class TemplateView(ModelViewSet):
@action(detail=False, methods=['POST'],
url_path=r'process_version_template/')
def process_version_template(self, request):
print("request", request)
return JsonResponse({}, safe=False, status=200)
在我的urls.py
:中
api_router = DefaultRouter()
api_router.register(r'template', views.TemplateView, 'template')
urlpatterns = [
path('predefined-comments', PredefinedCommentListView.as_view(),
name='predefined_comments'),
]
urlpatterns += api_router.urls
然后我在Postman中使用的端点发送数据是:
http://127.0.0.1:8000/api/v1/financing-settings/template/process_version_template/
那么,主体是:
{
"id":1784,
"param":"block",
"target":315
}
我做错了什么?
似乎不需要放置尾部斜杠
更改
`url_path=r'process_version_template/'`
至
`url_path=r'process_version_template'`