Djangoでカスタムパーミッションを作成する手順は?

カスタム権限を設定するには、次の手順を行います。

  1. 許可
  2. カスタムパーミッション
from django.contrib.auth.models import Permission

class CustomPermission(Permission):
    # 添加自定义字段
    custom_field = models.CharField(max_length=100)

    class Meta:
        # 设置权限名称
        permissions = [
            ("custom_permission", "Custom Permission"),
        ]
  1. データベースの移行: python manage.py makemigrations コマンドと python manage.py migrate コマンドを実行して、データベース移行を作成および適用します。
  2. 管理者画面で利用できるようにするカスタム権限モデルは、Djangoのadmin.pyファイルに登録してください。
from django.contrib import admin
from .models import CustomPermission

admin.site.register(CustomPermission)
  1. 許可が必要
  2. 権限あり
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'):
        # 执行所需的操作

これらはカスタム権限の基本ステップです。必要に応じて、アプリの複雑さによって調整および拡張できます。

bannerAds