Djangoでカスタムパーミッションを作成する手順は?
カスタム権限を設定するには、次の手順を行います。
- 許可
- カスタムパーミッション
from django.contrib.auth.models import Permission
class CustomPermission(Permission):
# 添加自定义字段
custom_field = models.CharField(max_length=100)
class Meta:
# 设置权限名称
permissions = [
("custom_permission", "Custom Permission"),
]
- データベースの移行: python manage.py makemigrations コマンドと python manage.py migrate コマンドを実行して、データベース移行を作成および適用します。
- 管理者画面で利用できるようにするカスタム権限モデルは、Djangoのadmin.pyファイルに登録してください。
from django.contrib import admin
from .models import CustomPermission
admin.site.register(CustomPermission)
- 許可が必要
- 権限あり
from django.contrib.auth.decorators import permission_required
from django.contrib.auth.models import User
@permission_required('your_app.custom_permission')
def your_view(request):
# 执行所需的操作
# 或者
def your_view(request):
if request.user.has_perm('your_app.custom_permission'):
# 执行所需的操作
これらはカスタム権限の基本ステップです。必要に応じて、アプリの複雑さによって調整および拡張できます。