Djangoで権限はどうやって設定するの?

2024年6月25日

Djangoで権限を設定するには、以下の手順を実行します。

  1. 権限の定義: まず、django.contrib.authアプリケーションを使って、権限を定義します。これは、Permissionモデルを介して行われます。権限は、アプリケーション内の特定の操作やリソースに対するアクセス権を表します。例えば、add_articlechange_user_profileなどの権限を定義できます。
python
from django.contrib.auth.models import Permission

# 新しい権限を作成
permission = Permission.objects.create(
    codename='add_article',
    name='Can add article',
    content_type=content_type_object,
)
  1. グループの作成: 次に、ユーザーグループを作成し、それぞれのグループに特定の権限を割り当てます。グループを使用することで、同じ権限を持つ複数のユーザーに一括して権限を割り当てることができます。
python
from django.contrib.auth.models import Group

# 新しいグループを作成
group = Group.objects.create(name='Editors')

# グループに権限を割り当て
group.permissions.add(permission)
  1. ユーザーへの権限の割り当て: 最後に、特定のユーザーに権限を割り当てます。これは、個々のユーザーに対して行うことも、ユーザーグループに対して行うこともできます。
python
from django.contrib.auth.models import User

# 新しいユーザーを作成
user = User.objects.create_user('john', 'john@example.com', 'password123')

# ユーザーにグループを割り当てる
user.groups.add(group)

以上の手順により、Djangoで権限を設定し、ユーザーに割り当てることができます。これにより、特定の機能やリソースへのアクセスを制御することが可能になります。

未分類

Posted by ぼっち