pythonはどのようにdjangoでユーザーモデルにカスタマイズ権限を追加しますか?
django独自の認証システムは、ログイン、ログイン、ユーザ作成、スーパーユーザの作成、パスワードの変更などの複雑な操作をうまく実現し、ユーザーグループ、グループ権限、ユーザ権限などの複雑な構造を実現し、独自の認証システムを使用することで、カスタマイズされた権限システムが権限制御の目的に達することができます。
djangoでデフォルトでは、syncdbが実行中にdjango.com ntrib.authをインストールして、各モデルにデフォルトの権限を作成します。change,foo.cn_deleteとfoo.cn_add.モデルにカスタム権限を追加するには、クラスMetaを追加することができます。モデルの下で、権限を定義し、ここで説明します。
私の問題は、ユーザーモデルにカスタマイズ権限を追加する場合、どうすればいいですか?foo.cnのようにview.私は下記のコードセグメントで実現できます。
このようにしてもいいです。
Djangoで応用する_u uinit_.pyに追加:
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
djangoでデフォルトでは、syncdbが実行中にdjango.com ntrib.authをインストールして、各モデルにデフォルトの権限を作成します。change,foo.cn_deleteとfoo.cn_add.モデルにカスタム権限を追加するには、クラスMetaを追加することができます。モデルの下で、権限を定義し、ここで説明します。
私の問題は、ユーザーモデルにカスタマイズ権限を追加する場合、どうすればいいですか?foo.cnのようにview.私は下記のコードセグメントで実現できます。
ct = ContentType.objects.get(app_label='auth', model='user')
perm = Permission.objects.create(codename='can_view', name='Can View Users',
content_type=ct)
perm.save()
しかし、私はsyncdbと一緒に遊べるようなものが欲しいです。例えば、私のカスタムモデルの下のMeta類です。これらはクラスMetaの中にあります。UserProfileの下で、これはユーザーモデルを拡張する方式です。正しい方法ですか?これをUserProfileモデルに結び付けませんか?このようにしてもいいです。
Djangoで応用する_u uinit_.pyに追加:
from django.db.models.signals import post_syncdb
from django.contrib.contenttypes.models import ContentType
from django.contrib.auth import models as auth_models
from django.contrib.auth.models import Permission
# custom user related permissions
def add_user_permissions(sender, **kwargs):
ct = ContentType.objects.get(app_label='auth', model='user')
perm, created = Permission.objects.get_or_create(codename='can_view', name='Can View Users', content_type=ct)
post_syncdb.connect(add_user_permissions, sender=auth_models)
住所:http://stackoverflow.com/questions/7724265/how-to-add-custom-permission-to-the-user-model-in-django以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。