2017-08-14 6 views
0

私はDjango REST Webサービスを作成しました。 私は(削除)次のメソッドを実行した場合、私は405エラーDjango HTTP削除メソッドが返されます405

view.py

@detail_route(methods="delete") 
def remove(self, request, id): 
    logger.debug("REST " + request.get_full_path()) 
    result = HeatingMappingModel.objects.filter(id=id).delete() 
    self.response = {"result": True, "data":result} 
    return JsonResponse(self.response, safe=False) 

urls.py

... 
    url(r'^detail/(?P<id>\d+)/$', views.HeatingMapping.as_view({'delete': 'remove'})), 
... 

に実行する。これは、URLであります私は電話するhttp://localhost:8000/heating/detail/6/

しかし、私は理解していない、私は読むドキュメントは、明確な説明を見つけることはありません。

誰かが私にこの問題についてのヒントを教えてもらえますか?

+0

は一度これを確認してください。同様の問題があるようです:https://stackoverflow.com/questions/26711975/django-drf-405-method-not-allowed-on-delete-operation –

+0

あなたの速い返事をありがとう、私は間違いを理解していませんになり得る。 –

+1

上記のように、djangoのdeleteは常に特定のリソースを指す必要があります。 あなたの場合、URLは '/'で終わり、ディレクトリとして動作します。 –

答えて

0

あなたはリストとしてセットmetodsが必要になります。

@detail_route(methods=["delete"]) 
#     ^^^  ^^^ 
関連する問題