1. ホーム
  2. django

[解決済み] django-rest-framework の管理者スタイルのブラウズ可能なインターフェイスを無効にする方法は?

2022-04-21 13:24:19

質問

を使っています。 django-rest-framework . これは素晴らしい Django 管理者スタイルのブラウズ可能な自己文書化 API を提供します。しかし、誰でもそれらのページを訪れて、データを追加する (POST) ためにインタフェースを使うことができます。どうすればこれを無効にできますか?

解決方法は?

ビューでサポートされているレンダラー一覧から、ブラウズ可能な API レンダラーを削除するだけです。

一般的に

REST_FRAMEWORK = {
    'DEFAULT_RENDERER_CLASSES': (
        'rest_framework.renderers.JSONRenderer',
    )
}

ビュー単位で

class MyView(...):
    renderer_classes = [renderers.JSONRenderer]

:

多くの場合、閲覧可能なAPIを無効にすることは、APIに取り組んでいる開発者にとって大きな助けとなるため、いずれにせよ、人々が選択することは残念なことだと思います。 他の方法よりも多くのパーミッションを与えることはありません。 . において、ビジネス上の理由があるのかもしれないとは思います。 一部 しかし、一般的には、これは大きな資産だと考えています。 しかし、場合によっては、非公開のAPIが公開したくないような詳細(カスタムアクションの名前など)が表示されるかもしれません。

以下もご参照ください。 以下はその答えです。 は、閲覧可能なAPIレンダラーを開発用に制限することについて、より詳しく説明しています。