DjangoModelPermissions を、`.queryset` プロパティを持たないビューや、 `.get_queryset()` メソッドをオーバーライドするビューに適用できません。
2023-10-13 02:44:05
質問
Response resp api django"で.accepted_renderer not setというエラーが出てしまいます。
私はdjango rest-apiチュートリアルに沿っています。 私が使用しているDjangoのバージョンは1.8.3です。 私は最初の部分までチュートリアルに従いました。それは適切に動作しました。しかし、私は応答を送信する2番目の部分を続行したとき、私はエラーが発生しました。
Cannot apply DjangoModelPermissions on a view that does not have `.queryset` property or overrides the `.get_queryset()` method.
次に、他の方法を試してみると
.accepted_renderer not set on Response resp api django
助けてください。私はその許可の問題だと思います。
どのように解決するのですか?
おそらく
DjangoModelPermissions
をデフォルトの許可クラスとして設定していると思います。みたいな感じ。
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.DjangoModelPermissions',
)
}
DjangoModelPermissions
を持つビューにのみ適用することができます。
.queryset
メソッドを使用します。
チュートリアル2はFBVを使用しているので、おそらくCBVに変換する必要があるか、簡単な方法はそのビューに異なるパーミッションクラスを指定することです。
あなたは
.get_queryset()
デコレータを使用している必要があります。そして
api_view
を以下のように定義します。
permissions
レンダラーのエラーを解決するには、対応するレンダラーを設定に追加する必要があります。
from rest_framework.decorators import api_view, permission_classes
from rest_framework import permissions
@api_view([..])
@permission_classes((permissions.AllowAny,))
def my_view(request)
...
関連
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] なぜ(0-6)は-6=偽なのか?重複
-
[解決済み] 文字列のリストを内容に基づいてフィルタリングする
-
[解決済み] サブフォルダからのインポートモジュール
-
[解決済み] subprocess.run()の出力を抑制またはキャプチャするには?
-
[解決済み] djangoフレームワークでフォームフィールドから値を取得するには?
-
[解決済み] Celeryタスクのユニットテストはどのように行うのですか?
-
[解決済み] Python Django Rest Framework UnorderedObjectListWarning
-
[解決済み] RuntimeError: モデルクラス django.contrib.sites.models.Site は明示的に app_label を宣言しておらず、 INSTALLED_APPS にあるアプリケーションに属していません。
-
[解決済み] Django Rest フレームワークのトークン認証
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
-
[解決済み] Spyderを仮想環境で動作させるには?
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] pycharmがタブをスペースに自動変換する
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] Pythonの文字列書式をリストで使う
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法
-
[解決済み] Pythonでランダムなファイル名を生成する最良の方法
-
[解決済み] Pythonの辞書にあるスレッドセーフについて