18.どのようにDjangoの管理者の管理のいくつかの機能の使用を制限するには?
あなたは有効とDjangoのAdmin背景のいくつかの機能へのアクセスを制限する権限システムを使用することができます。あなたがモデルを追加すると、デフォルトでは、Djangoは追加追加、変更および削除、変更、削除3つの許可を作成します。
これらの権限は、管理して、バックグラウンドでのユーザーのアクセスを制限することができます。非スーパー管理者とユーザーが権限を持っていないために、背景が下に表示されます。
あなたが許可を追加する場合user.user_permissions.add(Permission.objects.get(codename="add_hero"))
、管理者の背景を以下に示します。
あなたは、より複雑な論理権限の制限を追加するには、以下の方法を変更することができます。
def has_add_permission(self, request):
...
def has_change_permission(self, request, obj=None):
...
def has_delete_permission(self, request, obj=None):
...
def has_module_permission(self, request):
...