問題タブ [django-guardian]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - ImportError: ガーディアンという名前のモジュールがありません
私は Django を初めて使用するので、通常、ほとんどの問題の原因は私にありますが、django-guardian 1.3 アプリがインストールされない理由がわかりません。仮想環境で Django 1.7 を使用しています。私の OS は Windows 8.1 です。
pythonhosted.org/django-guardian/installation.htmlのインストール手順とpythonhosted.org/django-guardian/configuration.htmlの構成手順に従いましたが、プログラムを実行しようとするとエラーが発生します。
「guardian」、ANONYMOUS_USER_ID、およびバックエンドを settings.py に追加しました
仮想環境に Django-guardian がインストールされているようですが、まだ見つかりません。私が間違ったことをしたかもしれないアイデアはありますか?(または、Django のオブジェクトごとのパーミッションに関する他の提案はありますか?) ありがとうございます!
更新: 問題を virtualenv に絞り込みました。virtualenv を使用せずにモジュールをインストールすると、django はモジュールを適切に検出します。正確に何が間違っていたのかはまだわかりませんが、現時点では 1 つのプロジェクトにしか取り組んでいないことを考えると、これでうまくいきます。
django - django TestCase で権限を確認する
django1.8 アプリで create_user ビューをテストしようとしています。TestCase には次のものがあります。
実際のアプリを使用してユーザーを作成し、シェルを開いて has_perm('foo_app.add_bar') を確認すると、True です。テストで何がうまくいかないのですか?
オブジェクトのアクセス許可に django-guardian を使用しています。私settings.AUTHENTICATION_BACKENDS
は:
django - ガーディアンのショートカット assign_perm を使用してアクセス許可を割り当てると、「NoneType」オブジェクトに属性「objects」がありません
私の Django プロジェクトには 2 つのアプリケーションがあります。appA と appB だとしましょう。これらのアプリケーションは、 を介して外部パッケージからインストールされますpip install
。両方とも、モデルに追加の権限があります。
appA には次のものがあります。
appB には次のものがあります。
プロジェクトに両方のアプリケーションをインストールし、それらが持つモデルのインスタンスをいくつか作成しようとしました。次のエラーが発生したアクセス許可の割り当て手順まで、すべて正常に動作します (オブジェクトが作成され、DB に保存されます)。
エラーが発生した正確な場所を調べたところ、django-guardian internal にあります。ガベージ コレクターがローカル コンテキストを消去し、すべてのインポートを None に設定したようです。
さらに、INSTALLED_APPS から appA などのアプリケーションの 1 つを削除すると、他のアプリケーションは正常に動作します。つまり、すべての権限が設定されます。
この問題の原因が自分のアプリにあるのか、ガーディアンにあるのか、それとも完全に他のアプリケーションにあるのか、私にはわかりません。
django - Django REST フレームワークのクエリセットのカスタム権限
django rest フレームワーク ビューで django ガーディアンを使用してカスタム アクセス許可を設定したいと考えています。では成功しましたが、 では達成RetrieveModelMixin
できませんでしたListModelMixin
。
次のようなアクセス許可クラスがあります。
ここでもビューを簡略化しました:
私が素朴に期待していた動作: CustomPermルールListModelMixin
に従って、オブジェクト自体をフィルタリングできます。has_object_permission
しかし、それはそのようには機能しません。メソッドを作成し、独自のパーミッション ルールを適用することで、やりたいことを実行できget_queryset
ますが、不適切でひどいものに思えます。
より良い方法はありますか?ありがとう :)
PS: 私は何かが欠けていると確信しており、私の質問は素朴ですが、何がわかりません。
django - 作成時のDjango Rest Framework権限チェック
オブジェクトの作成時にdjango restフレームワークがオブジェクトの権限をチェックしないのはなぜですか? ユーザーが表示、更新、または削除できないオブジェクトを作成できるようにする必要があることは (とにかく、私には) 意味がありません。現在、次のようなビューセットをサブクラス化しています
これがデフォルトで実装されていないのはなぜですか? それは私にとってかなりの頭痛の種であり、このように実装される理由は 1 つも思いつきません。