DjangoとPythonを使って登録ユーザごとに権限を設定する必要があります。私は何かをしたが、それが私の要件を満たしているかどうかを混乱させた。私は以下のコードを説明しています。DjangoとPythonを使用してユーザごとにパーミッションを設定する方法は?
class Control(models.Model):
"""docstring for Control"""
user_id = models.ForeignKey(User)
control_reactor = models.IntegerField(default=0)
find_reactor = models.IntegerField(default=0)
view_reactor = models.IntegerField(default=0)
class Meta:
"""docstring for Meta"""
permissions = (
("view_reactor", "can view reactor"),
("find_reactor", "can find reactor"),
("controll_reactor", "can controll reactor"),
)
私は@permission_required
のようなDjangoのデコレータ機能を使用してこれらの権限にアクセスしています。ここで私はユーザーごとに3つのパーミッションを設定する必要がありますが、このモデルクラスは要件ごとに行っていると混乱しています。
あなたは私の権限セットごとに編集することができます。どのファイルでコードの最初の部分を定義し、 'BlogPost'はアプリ名ですか?ここで私は異なるユーザーごとに3つの異なる許可を設定する必要があります。 – satya
@satya編集を参照してください。 BlogPostはアプリ名です。また、Permissionsモデルを使用して明示的に各ユーザーにアクセス許可を与える必要があります。移行後、Permissionオブジェクトを取得し、それを使用してユーザーにアクセス許可を与えます。 –
権限は管理者ページの中に設定され、ログインしているユーザではなく、 'django.contrib.authからのものです。、 ユーザー=からrequest.user CONTENT_TYPE = ContentType.objects.get_for_model(植物) 許可= Permission.objects.get( コードネーム= 'change_plant'、 CONTENT_TYPE = CONTENT_TYPE:モデルは、許可、ユーザー デフgrant_permissions(リクエスト)をインポート ) user.user_permissions.add(許可) '、これはviews.pyのように書く必要があります。 – satya